Yoast WordPress SEO Sitemap 404错误解决方案
基于小站2014年的年度总结,小站虽然仅安装了Baidu sitemap,并且没有为其他的搜索引擎准备sitemap,但baidu对小站却极不友好,收录很少,带来的流量也微乎其微,相反bing和google对小站的帮助更大。因此,我开始申请bing网站管理员工具,而我必须开始为它准备sitemap。经过多方对比,我决定选择Yoast wordpress SEO插件来帮助我解决这个问题。
1.Yoast wordpress SEO首秀出现404错误
插件安装完成,我先选择用默认设置,并且迫不及待的开始查看它为小站准备的站点地图,可是它展示给我的是404错误。
2.Yoast wordpress SEO 404错误解决方案
解决方案参考链接:http://www.wpbeginner.com/wp-tutorials/how-to-fix-yoasts-wordpress-seo-sitemap-404-error/。据该篇博客的介绍,小站Yoast wordpress SEO 404错误的解决方案如下:
2.1 打开.htaccess文件(可以通过“Yoast wordpress SEO插件>编辑文件”来操作),然后添加如下代码:
1 2 3 4 5 6 7 8 9 10 |
# WordPress SEO - XML Sitemap Rewrite Fix <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L] RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L] </IfModule> # END WordPress SEO - XML Sitemap Rewrite Fix |
2.2 执行上述动作后,必须先取消插件中的”开启XML站点地图功能”选项,并且保存设置;然后在重新勾选此选项,再次保存设置,这样修改的内容才会生效,也不会再有404的错误,并且bing站长工具中提交sitemap成功。
但据参考资料中所述,可以解决小站问题的方案在有的站点上并不适用,有的站长说上述方案解决了在本地查看站点地图时出现404错误的问题,但是google站长工具找不到站点地图。要解决这个问题,据说只能修改插件的核心文件class-sitemaps.php(“/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php”),将该文件中的function_init()修改为如下形式:
1 2 3 4 5 6 7 8 9 10 11 |
/** * Initialize sitemaps. Add sitemap rewrite rules and query var */ function init() { global $wp_rewrite; $GLOBALS['wp']->add_query_var( 'sitemap' ); $GLOBALS['wp']->add_query_var( 'sitemap_n' ); add_rewrite_rule( 'sitemap_index.xml$', 'index.php?sitemap=1', 'top' ); add_rewrite_rule( '([^/]+?)-sitemap([0-9]+)?.xml$', 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]', 'top' ); $wp_rewrite->flush_rules(); } |