gpt4 book ai didi

php - 重定向 + CodeIgniter + SEO?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:37:26 25 4
gpt4 key购买 nike

好的,这是我的情况:

  • 我正在重写我的一个旧的基于 WordPress 的网站(包含大量内容),作为 Bootstrap、CodeIgniter 支持的网站。
  • 由于该网站已有将近 4 到 5 年的历史,并且在搜索结果中的知名度已经很高,所以我主要关心的问题之一是保持现有 URL 不变。

问题:

  • 虽然我想保留旧的 URL,但它们仍然有点奇怪(WP 的所有废话),例如:mysite.com/category/some-category/some-subcategory,等等
  • 我正在考虑更改一般 url 结构,并将旧 url 转发到新 url。

我应该怎么做?哪种方式对 SEO 最友好?会不会有什么缺点?

请说明一下,因为我太困惑了,绝对不想毁掉一个已经表现良好的网站...

最佳答案

据我所知,只有 post_name 在 WP 帖子的 uri 中很重要:wp-site.com/category/post_name 等于 wp-site.com/category2/post_name

因此,当您将 wp-posts 表迁移到新的 CI posts 表时,请保留 post_name 字段以标识请求的内容。

我为您提供了一个简单的解决方案来决定是否保留旧网址:

例如:您的旧 URI 类似于 /category1/cateogry2/post_name/

配置/路由.php

//old post URIs (WP)
//$3 = post_name
$route['([a-z0-9\-_]+)/([a-z0-9\-_]+)/([a-z0-9\-_]+)/'] = 'posts/single/$3';

//new post URIs
//e.g: /post_name.html
$route['([a-z0-9\-_]+)\.html'] = 'posts/single/$1';

Controller /posts.php

//posts method
public function single($post_name) {
//check post_name in DB
//...

//check URI (optionnal)
//there are not one segment in the uri so this is an old URI
if( $this->uri->total_segments() > 1 ) {
redirect($post_name.'.html', 301);
}

//...
}

通过此解决方案,当您访问 http://site.com/category1/cateogry2/post_name/ 时,将调用 posts/single 方法并将您重定向到新的 URL http://site.com/post_name.html 如果你愿意的话。

关于php - 重定向 + CodeIgniter + SEO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com