上一篇中说道用wordpress在SAE搭了一博客,也用SEO插件进行了关键字和描述信息等优化。但是百度和Google都没能搜索到我的站点。后来上网查询相关信息,有人建议提交sitemap。百度的sitemap与Google,Yahoo,,Bing等不完全一致,所以需要定义两套sitemap。不过由于SAE不支持写操作,遇到一系列的麻烦。wordress是最新的版本3.7,不是WordPress for SAE。
百度sitemap
我用的是柳城大侠的Baidu Sitemap Generator, 下载, 解压, svn上传到SAE。一
定记得在storage里面新建一个wordpress的domain,管理界面里面启动Baidu Sitemap Generator, 并在Setting里面点击Update XML file按钮。 到app应用管理的storage/wordpress里面看看。多了两个文件, sitemap_baidu.xml和sitemap.html。
切换到应用的svn根目录,
新建config.yaml文件,输入以下语句:
appname: lishunxiao
appversion: 1
handle:
- rewrite: if ( path ~ "sitemap_baidu.xml" ) goto "wp-content/plugins/baidu-sitemap-generator/SAE_xml.php"
- rewrite: if ( path ~ "sitemap.html" ) goto "wp-content/plugins/baidu-sitemap-generator/SAE_html.php"
- rewrite: if ( path ~ "sitemap.xml" ) goto "/index.php?xml_sitemap=params="
这些只是做一些链接的跳转,SAE不支持写操作,需要把storage里面生成的文件抓取过来显示。
svn目录切换到wp-content/plugins/baidu-sitemap-generator, 新建SAE_xml.php文件,并写入一下语句:
<?php
header("Content-Type:text/xml ");
$f = new SaeFetchurl();
$data = $f->fetch("http://lishunxiao-wordpress.stor.sinaapp.com/sitemap_baidu.xml");
echo $data;
?>
新建SAE_xml.php文件,并写入一下语句:
<?php
header("Content-Type:text/html ");
$f = new SaeFetchurl();
$data = $f->fetch("http://lishunxiao-wordpress.stor.sinaapp.com/sitemap.html");
echo $data;
?>
记得把lishunxiao替换为自己的appname
上传以上新建的文件,打开http://appname.sinaapp.com/sitemap_baidu.xml和http://appname.sinaapp.com/sitemap.html测试一下。
Google sitemap
这个得感谢WordPress for SAE,里面集成了修改过的Google XML Sitemaps。
所以比较简单,下载Google XML Sitemaps, 把里面的Google XML Sitemaps复制
到应用svn对应插件目录内。上传并启用即可。设置里面选择XML-Sitemap, 点击更新设置按钮。
就可以到http://appname.sinaapp.com/index.php?xml_sitemap=params= 查看sitemap
另外请注意config.yaml的最后一行,把/sitemap.xml跳转到上面的地址。
SAE不支持写操作强调的是安全性,但是极大的降低了便利性,更有甚者会影响程序的兼容性和正确性。
大家使用之前考虑清楚,SAE是否能够满足你的要求。
我的wordpress app地址:
http://lishunxiao.sinaapp.com/