标签: sitemap

如何通过代码通知Google有更新的站点地图?

在此Google帮助页面上:

https://www.google.com/webmasters/tools/docs/en/sitemap-generator.html#submitting

Google提到有一种方法可以使用HTTP请求通知他们更新的站点地图.

单击该链接后,将转到此页面:

http://www.google.com/support/webmasters/bin/answer.py?answer=34592&topic=8482&hl=en#ping

但是没有关于在何处ping什么请求的信息.

有谁知道这个地址是什么以及需要什么参数?

sitemap google-webmaster-tools

16
推荐指数
1
解决办法
1999
查看次数

使用PHP创建XML站点地图

我正在尝试创建一个会自动更新的站点地图.我做了类似于我的RSS提要的事情,但这个网站地图拒绝工作.您可以在http://designdeluge.com/sitemap.xml上查看它.我认为主要问题是它无法识别PHP代码.这是完整的来源:

 <?php 


include 'includes/connection.php';

header("Content-type: text/xml");

echo '<?xml version="1.0" encoding="UTF-8" ?>';

?>

<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">

    <url>
        <loc>http://designdeluge.com/</loc>
        <lastmod>2010-04-20</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.00</priority>
    </url>

    <url>
        <loc>http://designdeluge.com/about.php</loc>
        <lastmod>2010-04-20</lastmod>
        <changefreq>never</changefreq>
        <priority>0.5</priority>
    </url>

    <?php

    $entries = mysql_query("SELECT * FROM Entries");

    while($row = mysql_fetch_assoc($entries)) {
    $title = stripslashes($row['title']);
    $date = date("Y-m-d", strtotime($row['timestamp']));

    echo "

    <url>
        <loc>http://designdeluge.com/".$title."</loc>
        <lastmod>".$date."</lastmod>
        <changefreq>never</changefreq>
        <priority>0.8</priority>
    </url>";

 } ?>

</urlset>
Run Code Online (Sandbox Code Playgroud)

问题是动态URL(例如从数据库中提取的URL)没有生成,站点地图也不会验证.谢谢!

编辑:现在,我只是想让代码本身工作.我把它设置为我本地测试服务器上的PHP文件.上面的代码正在使用中.现在,屏幕上或源中没有显示任何内容.我想我的语法错误,但我找不到任何东西.任何和所有的帮助表示赞赏!

编辑2:好的,我把它整理好了.显然,我不得不用PHP回应xml声明.最终代码发布在上面.谢谢你的帮助!

php xml sitemap

16
推荐指数
3
解决办法
5万
查看次数

如何在django中有效地提供大量站点地图

我的站点地图中有一个大约150K页面的站点.我正在使用站点地图索引生成器制作站点地图,但实际上,我需要一种缓存方式,因为在我的服务器上构建每个1000个链接的150个站点地图是残酷的.[1]

我可以用memcached缓存这些站点地图页面中的每一个,这是我在网站上的其他地方使用的...但是,这是很多站点地图,它将完全填充memcached ....所以这不起作用.

我认为我需要的是一种使用数据库作为缓存的方法,并且只在它们发生变化时生成它们(由于站点地图索引意味着只更改最新的几个站点地图页面,因为休息总是一样的.)[2]但是,尽管我可以说,我只能使用django的一个缓存后端.

如何在不杀死我的数据库或memcached的情况下为Google提供这些站点地图?

有什么想法吗?

[1]我将其限制为每个站点地图页面的1,000个链接,因为生成最多50,000个链接,就是没有发生.

[2]例如,如果我有sitemap.xml?page = 1,page = 2 ... sitemap.xml?page = 50,我只需要更改sitemap.xml?page = 50,直到它满了1,000为止链接,然后我几乎可以永远,并专注于第51页,直到它已满,永远缓存,等等.

编辑,2012-05-12:这仍然是一个问题,我终于放弃了Django的站点地图框架后使用文件缓存大约一年.相反,我现在使用Solr在一个非常简单的视图中生成我需要的链接,然后我将它们传递给Django模板.这极大地简化了我的站点地图,使它们表现得很好,截至目前我已经达到了大约2,250,000个链接.如果你想这样做,只需查看站点地图模板 - 这一切都非常明显.您可以在此处查看此代码:https://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/tip/alert/casepage/sitemap.py

sitemap django memcached caching

16
推荐指数
2
解决办法
5096
查看次数

如何正确格式化xml站点地图的上次修改(lastmod)时间

我正在创建一个应用程序,sitemap.xml每次在网站上添加或更新新内容时,该应用程序都会自动更新.

根据Google的最佳做法,<lastmod></lastmod>标记的格式应如下所示:

<lastmod>2011-06-27T19:34:00+01:00</lastmod>

我的问题涉及时间格式化本身.我理解这一2011-06-27T19:34:00部分.我不明白的是+01:00,我假设的是+/- UTC.

这是正确的假设吗?

我的时区表如下所示:

在此输入图像描述

因此,如果该网站位于#4阿富汗,那么正确的时间将是: 2011-06-27T19:34:00+04:00

如果该网站位于#6阿拉斯加标准时间,那么正确的时间将是: 2011-06-27T19:34:00-09:00

我的假设是正确的还是我没有正确理解+01:00

xml sitemap

16
推荐指数
2
解决办法
1万
查看次数

我应该在我的站点地图文件中列出PDF吗?

我应该将PDF添加到我的XML站点地图吗?

我想知道Google是否会抓取PDF.

sitemap pdf google-crawlers

14
推荐指数
1
解决办法
9633
查看次数

为"Django"应用创建Sitemap时出现"TemplateDoesNotExist"错误

我按照django网站上的站点地图激活步骤,但我不断收到"TemplateDoesNotExist"错误.也许我是误解,但不是应该生成页面的genericview?

########### url.py #############################3

.........
from django.contrib.sitemaps import FlatPageSitemap, GenericSitemap
........
........
info_dict = {
'queryset': Bookmark.objects.all(),
'date_field': 'added'
}
sitemaps = {
'bookmarks': GenericSitemap(info_dict, changefreq = 'never', priority=0.6),
}
urlpatterns = patterns('',
.............
url(r'^$', 'microblogging.views.public', name="home"),
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
.............
)
if settings.SERVE_MEDIA:
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'misc.views.serve')
)



############# error #############################

TemplateDoesNotExist at /sitemap.xml

sitemap.xml

Request Method: GET
Request URL: http://localhost:8000/sitemap.xml
Exception Type: TemplateDoesNotExist
Exception Value:

sitemap.xml

Exception Location: /usr/lib/python2.5/site-packages/django/template/loader.py in find_template_source, line 73
Python Executable: /usr/bin/python2.5 …
Run Code Online (Sandbox Code Playgroud)

sitemap django

13
推荐指数
3
解决办法
5474
查看次数

MVC:如何将/sitemap.xml路由到ActionResult?

我有一个SitemapActionResult覆盖了ActionResult,并在点击http://www.sprelle.no/Home/SiteMap时提供了一个SEO sitemap.xml .到现在为止还挺好.

不过,我想要的是在Google访问/sitemap.xml时提供sitemap.xml.为了实现这一点,我需要一个看到"sitemap.xml"并指向/ Home/Sitemap的路线.

如何创建此映射(在Routes表中)?

sitemap asp.net-mvc seo sitemap.xml

13
推荐指数
3
解决办法
1万
查看次数

ASP.NET web.sitemap - 角色似乎无法控制可见性?

我有一个(简单的)站点地图,我试图找出为什么某个子菜单始终可见.

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="~/Login.aspx" title="Home" description="RivWorks" roles="*">
    <siteMapNode url="" title="Dashboard" description="" roles="campaigns, auto_negotiation">
      <siteMapNode url="CampaignBuilder.aspx" title="Campaign Manager" description="Manage your campaign settings" roles="campaigns" />
      <siteMapNode url="ProductManager.aspx" title="Negotiation Manager" description="Manage your product and negotiation settings" roles="auto_negotiation" />
    </siteMapNode>
    <siteMapNode url="" title="Support Options" description="" roles="customers, customer_super, riv_admins, riv_super">
      <siteMapNode url="ChangePassword.aspx" title="Change Password" description="" roles="customers, customer_super, riv_admins, riv_super" />
      <siteMapNode url="http://rivworks.zendesk.com/requests/anonymous/new" title="Submit a Support Ticket" description="" roles="customers, customer_super, riv_admins, riv_super" />
      <siteMapNode url="http://rivworks.zendesk.com/forums/49919/entries" title="Tips &amp; Tricks" …
Run Code Online (Sandbox Code Playgroud)

sitemap asp.net

13
推荐指数
1
解决办法
2万
查看次数

我应该在我的sitemap.xml中包含分页结果吗?

我有列表页面,在网址上采用页面参数,如下所示:

http://www.domain.com/foo/bar/?page=7
Run Code Online (Sandbox Code Playgroud)

我应该只包含没有参数的URL,还是应该列出我的sitemap.xml中的所有页面?

编辑

分页内容是列表,就像索引一样.因此,他们的内容也(详细地)在详细页面中找到.但这些分页的是获取详细信息页面的唯一方法.

sitemap optimization pagination

12
推荐指数
2
解决办法
4708
查看次数

当我包含xmlns ="http://www.sitemaps.org/schemas/sitemap/0.9"时,XSLT不起作用

我的Google站点地图通过XSLT很好地呈现,而没有<urlset>元素中的xmlns ="http://www.sitemaps.org/schemas/sitemap/0.9",但是当包含时,我的foreach语句不起作用,并且没有任何渲染在模板中.我的代码如下.谢谢你的帮助.

XML

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>{site_url}</loc>
<lastmod>{current_time format="%Y-%m-%d"}</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
Run Code Online (Sandbox Code Playgroud)

XSL

<xsl:template match="/">
<html>
<body>
<h2>Sitemap</h2>
<table border="1">
<tr bgcolor="#9acd32">
  <th>Location</th>
  <th>Last Modified</th>
  <th>Update Frequency</th>
  <th>Priority</th>
</tr>
<xsl:for-each select="urlset/url">
<tr>
  <td><xsl:value-of select="loc"/></td>
  <td><xsl:value-of select="lastmod"/></td>
  <td><xsl:value-of select="changefreq"/></td>
  <td><xsl:value-of select="priority"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

xml sitemap xslt xml-namespaces google-sitemap

12
推荐指数
1
解决办法
4634
查看次数