Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向+;代码点火器+;搜索引擎优化?_Php_Html_Wordpress_Codeigniter_Seo - Fatal编程技术网

Php 重定向+;代码点火器+;搜索引擎优化?

Php 重定向+;代码点火器+;搜索引擎优化?,php,html,wordpress,codeigniter,seo,Php,Html,Wordpress,Codeigniter,Seo,好的,我的情况如下: 我正在重写我的一个旧的基于WordPress的站点(有很多内容),作为一个引导、CodeIgniter驱动的站点 因为这个网站已经有4-5年的历史了,并且已经在搜索结果中有了很好的表现,所以我主要关心的一个问题是保留现有的URL不变 问题: 虽然我想保留旧的URL,但它们仍然让人觉得有点奇怪(因为WP的废话),比如:mysite.com/category/some category/some subcategory,等等 我正在考虑改变一般的url结构,简单地将旧的u

好的,我的情况如下:

  • 我正在重写我的一个旧的基于WordPress的站点(有很多内容),作为一个引导、CodeIgniter驱动的站点
  • 因为这个网站已经有4-5年的历史了,并且已经在搜索结果中有了很好的表现,所以我主要关心的一个问题是保留现有的URL不变
问题:

  • 虽然我想保留旧的URL,但它们仍然让人觉得有点奇怪(因为WP的废话),比如:
    mysite.com/category/some category/some subcategory
    ,等等
  • 我正在考虑改变一般的url结构,简单地将旧的url转发到新的url
我应该怎么做?哪一种是最有利于SEO的方法?有什么缺点吗


请一定要说清楚,因为我实在太困惑了,绝对不想破坏一个已经很好运行的网站…

我的建议是,使用友好的URL更改URL结构,在这里你可以找到一个好的备忘单,其中包含一个好的URL的解剖结构:


除前一点外,您还需要维护旧的URL结构,对新结构执行301重定向(这非常重要,不要使用302)。您可以在.htaccess文件中执行此操作。更多信息:

我的建议,使用友好的URL更改URL结构,在这里您可以找到一份包含良好URL剖析的良好备忘:


除前一点外,您还需要维护旧的URL结构,对新结构执行301重定向(这非常重要,不要使用302)。您可以在.htaccess文件中执行此操作。更多信息:

小心点,SEOMoz作弊对我不起作用。我的网站通常在谷歌搜索的第二页。在跟踪SEOmoz之后,它将我的网站放在了第5页下面。我认识一位SEO大师,当我展示我的网站时,他笑着告诉我“不要相信互联网上说的一切,他们说废话只是为了吸引观众”。他建议我保持url尽可能短,在url中有一个特定的关键字,有类别,子类别,。。。。。将生成一个冗长的url,谷歌将其视为关键字填充。我把我的网址改成了short&sweet,三周内我的网站就出现在了第一页

是301重定向最好如上面提到的m4t1t0。根据谷歌的说法,如果你把你的网站域名或url改成一个你应该使用301的页面,你可以保留你以前的反向链接和页面排名

将其添加到.htaccess文件中

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

小心点SEOMoz欺骗对我不起作用。我的网站通常在谷歌搜索的第二页。在跟踪SEOmoz之后,它将我的网站放在了第5页下面。我认识一位SEO大师,当我展示我的网站时,他笑着告诉我“不要相信互联网上说的一切,他们说废话只是为了吸引观众”。他建议我保持url尽可能短,在url中有一个特定的关键字,有类别,子类别,。。。。。将生成一个冗长的url,谷歌将其视为关键字填充。我把我的网址改成了short&sweet,三周内我的网站就出现在了第一页

是301重定向最好如上面提到的m4t1t0。根据谷歌的说法,如果你把你的网站域名或url改成一个你应该使用301的页面,你可以保留你以前的反向链接和页面排名

将其添加到.htaccess文件中

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

您可以使用$slug变量。使用$slug存储URL可能会有所帮助。我以前从未尝试过SEO,但可能会奏效

看起来你可以储存

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


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

您可以使用$slug变量。使用$slug存储URL可能会有所帮助。我以前从未尝试过SEO,但可能会奏效

看起来你可以储存

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


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

因为我知道在WP post的uri中只有post\u名称是重要的:
wp site.com/category/post_name
等于
wp site.com/category2/post_name

因此,当您将wp posts表迁移到新的CI posts表时,请保留
post\u name
字段以标识请求的内容

我向您提交了一个简单的解决方案,以保留旧URL或不保留旧URL:

e、 g:您以前的URI类似于
/category1/category2/post\u name/

config/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';
controllers/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
如果您愿意。

据我所知,在WP post的uri中只有post\u名称是重要的:
wp site.com/category/post_name
等于
wp site.com/category2/post_name

因此,当您将wp posts表迁移到新的CI posts表时,请保留
post\u name
字段以标识请求的内容

我向您提交了一个简单的解决方案,以保留旧URL或不保留旧URL:

e、 g:您以前的URI类似于
/category1/category2/post\u name/

config/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';
controllers/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
如果你愿意。

Codeigniter不关心url,你可以拥有你想要的任何url。你可以有一个很长的url。使用路由将他们指向正确的url和方法。Codeigniter不关心url,你们可以拥有你们想要的任何url。你可以有一个很长的url。使用路由将他们指向正确的url和方法。