重定向+ CodeIgniter + SEO?

时间:2013-04-21 11:30:11

标签: php html wordpress codeigniter seo

好的,所以这是我的情况:

  • 我正在重写一个旧的基于WordPress的网站(包含大量内容),作为Bootstrap,CodeIgniter支持的网站。
  • 由于该网站已有近4 - 5年的历史,而且已经在搜索结果中占据优势,我的主要关注点之一是保持现有网址的完整。

问题:

  • 虽然我想保留旧的网址,但它们仍然有点奇怪(包括所有WP的废话),例如:mysite.com/category/some-category/some-subcategory
  • 我正在考虑更改常规网址结构,只需将旧网址转发给新网址。

我该怎么做?哪一个是SEO最友好的方式?会有任何缺点吗?

请放弃一些亮点,'因为我太困惑了,绝对不想破坏已经很好的网站...

4 个答案:

答案 0 :(得分:1)

我的推荐,使用友好的URL更改URL结构,在这里您可以找到一个好的备忘单,其中包含一个良好的URL:http://www.seomoz.org/blog/seo-cheat-sheet-anatomy-of-a-url

除了前点之外,您需要维护旧的URL结构,对新结构执行301重定向(这非常重要,不要使用302)。您可以在.htaccess文件中执行此操作。更多信息:http://www.seomoz.org/learn-seo/redirection

答案 1 :(得分:1)

小心SEOMoz作弊对我没用。我的网站通常在谷歌搜索的第二页。关注SEOmoz之后它将我的网站放在第5页以下。我认识一位搜索引擎优化大师,当我向我的网站展示时,他笑了,并告诉我“不要相信互联网上所说的一切,他们只是为了吸引观众”。他建议我尽可能缩短网址,并在网址中设置一个特定的关键字,有类别,子类别,.....会制作一个冗长的网址,谷歌将其视为关键字填充。我将我的网址更改为简短的&甜蜜,在3周内,我的网站在第一页。

是301重定向最好是上面提到的m4t1t0。根据谷歌如果您将您的网站域名或网址更改为页面,您应该使用301,通过该网站,您可以保留以前的反向链接&页面排名。

在.htaccess文件中添加此内容

Redirect 301 /category/some-category/some-subcategory http://mysite.com/specific-keyword-for-the-product

答案 2 :(得分:1)

您可以使用$ slug变量。使用$ slug来存储URL可能会有所帮助。我以前从未尝试过搜索引擎优化,但可能会工作。

http://ellislab.com/codeigniter/user-guide/tutorial/news_section.html

好像你可以存储

xxx.com/category/some-category/some-subcategory/content_title

xxx.com/$slug/content_title

您可能需要使用以前的URL编辑$ slug。试一试。

答案 3 :(得分:1)

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

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

我提交了一个简单的解决方案来保留旧网址:

例如:您的旧URI与/category1/cateogry2/post_name/

类似

配置/ route.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';

控制器/ 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方法,并根据需要将您重定向到新的网址http://site.com/post_name.html