SEO sitemap.xml动态内容

时间:2012-08-16 14:21:54

标签: seo sitemap dynamic-data

假设我们有这些页面:

1. http://www.mywebsite.com/users/thomas-roberts
2. http://www.mywebsite.com/pages/thomas-roberts/1
3. http://www.mywebsite.com/pages/thomas-roberts/hello-kitty-collection

是否有可能在sitemap.xml中执行此操作:

<?xml version="1.0" encoding="utf-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://mywebsite.com/users/^(\w+)$/</loc>
        <lastmod>2006-11-18</lastmod>
        <changefreq>daily</changefreq>
        <priority>1</priority>
    </url>
    <url>
        <loc>http://mywebsite.com/users/^(\w+)$/pages/^(\w+)$</loc>
        <lastmod>2006-11-18</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc>http://mywebsite.com/users/^(\w+)$/pages/^(\d+)$</loc>
        <lastmod>2006-11-18</lastmod>
        <changefreq>daily</changefreq>
        <priority>0.6</priority>
    </url>
</urlset>

我希望我的示例很明确,我们并没有在sitemap.xml文件中真正指定一个新的“url”元素,而是我们将正则表达式与url匹配,我们每次都会回来更新。

如果这可能不是解决方案,那么Twitter和Facebook如何在Google中为其所有网页(个人资料页面等)编制索引?他们是否在每次创建新用户时生成新的站点地图,并在某个时候更新其站点地图更新他们的页面/个人资料?

我非常好奇,如果我们以某种方式生成sitemap.xml(其中包含50.000项和10mb的限制),如果内容被修改,生成站点地图会是个好主意吗?

非常感谢。

3 个答案:

答案 0 :(得分:2)

站点地图必须包含实际的网址。正则表达式是不可接受的,并且没用,因为他们没有告诉搜索引擎任何东西。

站点地图只是告诉搜索引擎在哪里可以找到您的内容。因此,如果页面的内容被修改,那么就搜索引擎而言,站点地图确实不会影响它。

答案 1 :(得分:0)

不幸的是,站点地图文件需要显式网址。 Robots.txt文件允许通过*和+符号表示某种通配符语法来表示一组网址,但站点地图文件不是这种情况。

答案 2 :(得分:0)

我认为最好的办法是使用cron job运行的脚本更新数据库(或缓存)中的url。如果可以在服务器时间限制内生成sitemap.xml,则允许它使用数据动态运行。请参阅此处以获取示例:https://stackoverflow.com/a/29468042/4058484

但是,如果您拥有大量数据,那么最好的位置是多个站点地图中的网址,只要列在robots.txt中指定的sitemap.xml,就会看到这里的详细信息:http://www.sitemaps.org/protocol.html#sitemapIndexXMLExample。< / p>