动态分层页面和SEO

时间:2013-09-12 13:29:13

标签: php sql mod-rewrite laravel

为每个人欢呼!

请耐心等待,我确实对此做了一些研究,但我无法找到最终解决方案,因此我来听听您的意见。

我想要构建的是具有动态分层页面的小型i18n-CMS,例如:

domain.tld/en/I/am/a/path

我想找到性能最差的方式,让我拥有漂亮的,SEO和人性化的网址。

我使用Closure-Table,因此数据库中有两个表,一个用于pagenodes,一个用于pathtree,另一个用于本地化页面,它引用了某个pagenode(总共三个)。

到目前为止我的不同解决方案:

  1. 当然我可以制作一个算法,该算法遍历所有不同的请求段并检查是否存在英语"路径"在" a"在" am"在" I"下,考虑到大量的网页点击,这似乎是非常不明智的。
  2. 或者是吗?

    正面:我不需要在任何地方保存路径,因为它会被计算出来。因此,移动页面不需要重新计算路径并再次保存。

    1. 我可以简单地将整个路径保存到数据库,如VARCHAR(2000)或其他东西,然后检查是否有一个带路径的页面" I / am / a / path"用英语写一下。
    2. 这似乎很混乱。

      1. 我现在就这样做。目前我添加了一个" ID"在我的路径尽头。如:

        使用domain.tld / EN / I / AM /一个/ path.1

      2. 因此,如果您输入" domain.tld / en.1"你被转发到一个有正确的slug的那个。但是,我再次需要将slug保存到数据库,每个页面。

        我也想摆脱id(我可以用mod-rewrite和.htaccess吗?)

        关于这个的更多见解?由于我不是网络开发人员,所以我对性能并不十分确定。

        最诚挚的问候,

        Meren

1 个答案:

答案 0 :(得分:0)

在我看来,页面请求的发生次数比编辑器更改页面地址的次数高出一百万次。所以我肯定会使用save-to-db选项。您可以做的是创建一个额外的字段,在该字段中保存该页面的“slug”,结合.htaccess,您可以从'slug'地址重定向页面。例如在http://www.fuuu.com/futest-fu中,'futest-fu'是一个slug,可以重写为ID号(或者你想要的任何东西)。除此之外,Wordpress以这种方式工作。查看此讨论,了解一些见解:http://wordpress.org/support/topic/where-are-the-permalinks-slug-stored-in-the-database