You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google站长工具新闻站点地图命名空间错误求助

解决Google站长工具新闻站点地图的XML错误问题

嘿,我帮你定位到问题根源了!你遇到的“无效XML标签”和命名空间报错,本质是新闻站点地图的标签使用不符合Google规范,加上XML结构有问题,才触发了工具的误判。下面给你详细拆解和修正方案:

核心错误点

  • 你用了错误的新闻标签:<news:name>和<news:link>根本不是Google新闻站点地图的合法标签,Google要求新闻内容必须放在特定的结构化节点里。
  • <loc>标签值错设成了站点根域名,它必须指向单篇新闻的具体URL,而不是网站首页。
  • 虽然你声明了正确的sitemap命名空间,但因为标签错误导致XML结构失效,才让Google工具误报成“预期xhtml命名空间”。

修正后的完整代码

<?php
header("Content-Type: application/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
// 只保留必要的命名空间,避免冗余
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">' . PHP_EOL;

$base_url = "https://www.example.com";
while($row = mysqli_fetch_array($sitegrab)) {
    // 替换成你实际的新闻详情页URL规则,比如用新闻ID或slug拼接
    $news_detail_url = $base_url . '/news/' . $row['id']; 
    echo '<url>' . PHP_EOL;
    // 转义动态内容,防止XML解析出错
    echo '  <loc>' . htmlspecialchars($news_detail_url, ENT_XML1, 'UTF-8') . '</loc>' . PHP_EOL;
    // 所有新闻相关内容必须包裹在<news:news>节点内
    echo '  <news:news>' . PHP_EOL;
    // 发布者信息是必填项,包含名称和语言
    echo '    <news:publication>' . PHP_EOL;
    echo '      <news:name>' . htmlspecialchars($row['Website'], ENT_XML1, 'UTF-8') . '</news:name>' . PHP_EOL;
    echo '      <news:language>zh-cn</news:language> <!-- 根据你的网站语言调整,比如en-us -->' . PHP_EOL;
    echo '    </news:publication>' . PHP_EOL;
    // 新闻标题必填
    echo '    <news:title>' . htmlspecialchars($row['NewsTitle'], ENT_XML1, 'UTF-8') . '</news:title>' . PHP_EOL;
    // 发布日期必须是ISO 8601格式,比如2024-05-20T12:00:00+08:00
    echo '    <news:publication_date>' . $row['PublishDate'] . '</news:publication_date>' . PHP_EOL;
    // 可选:添加新闻关键词,帮助Google分类
    // echo '    <news:keywords>科技,人工智能</news:keywords>' . PHP_EOL;
    echo '  </news:news>' . PHP_EOL;
    echo '  <changefreq>daily</changefreq>' . PHP_EOL;
    echo '  <priority>1.0</priority>' . PHP_EOL;
    echo '</url>' . PHP_EOL;
}
echo '</urlset>' . PHP_EOL;
?>

关键修正说明

  1. 标签结构合规:所有新闻内容必须嵌套在<news:news>节点里,并且包含Google要求的必填项:<news:publication>(含名称和语言)、<news:title>、<news:publication_date>。
  2. 正确设置URL:<loc>必须是单篇新闻的可访问URL,不能是网站根域名,否则Google无法识别对应的新闻内容。
  3. XML安全处理:用htmlspecialchars()转义从数据库取出的动态内容,避免特殊字符(比如<、>、&)破坏XML结构。
  4. 精简命名空间:移除了没用的xlink和xsi声明,减少解析复杂度,避免不必要的干扰。

额外注意事项

  • 确保PublishDate字段是ISO 8601标准格式(例如2024-05-20T09:30:00+00:00),这是Google强制要求的。
  • 每个URL对应的页面必须是独立的新闻详情页,不能是列表页或首页。
  • 提交前可以先用在线XML验证工具检查结构是否合法,再上传到Google站长工具。

内容的提问来源于stack exchange,提问作者rayvic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:34:14