96SEO 2025-10-29 00:37 1
作为一名资深网站管理员,你是否遇到过这样的困惑:明明网站内容优质,却被百度收录了大量形如https://yourdomain.com/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fyourdomain.com%2Fsample-post的页面?这些页面打开后往往显示空白或错误代码, 用户点击后直接跳出,不仅严重影响用户体验,更让网站的跳出率飙升,SEO权重岌岌可危。今天我们就来深度剖析这个问题,并提供一套兼顾技术实现与长期SEO优化的解决方案。
要解决问题,先得明白原因。WordPress自4.4版本起引入了REST API功能, 这是一套标准化的接口,旨在让WordPress能够与其他平台进行数据交互。而wp-json/oembed/正是其中的核心模块之一, 它的作用是为外部平台提供“嵌入”服务——当你想把WordPress文章链接分享到微博、微信时这些平台会美观的预览卡片。

只是 搜索引擎的爬虫在抓取网站时可能会将这些API接口误认为是“有效内容页面”,从而进行收录。更麻烦的是 这些接口页面本身并不包含用户可阅读的正文内容,用户点击后往往只能看到一串XML或JSON代码,体验极差。根据百度搜索资源平台的数据, 这类“无效页面”的跳出率通常高达90%以上,长期存在会严重影响网站的整体搜索评级。
你可能觉得“收录就收录吧, 反正不影响正常页面”,但其实吧,这些看似“无害”的页面正在悄悄侵蚀你的SEO成果:
举个真实案例:去年我们接手一个技术博客, 该网站因被收录了2000多个oembed页面百度索引量从10万骤降至3万,自然流量腰斩。通过后续的跳转优化和内容质量提升,才逐步恢复。可见,这个问题绝非小事!
面对这个问题,核心思路是让百度爬虫和用户访问oembed页面时自动跳转到对应的真实文章页面。
robots.txt是网站与搜索引擎爬虫沟通的“门卫文件”,我们可以通过它告诉百度:“不要抓取oembed相关的页面”。这是最直接的方法,但需要注意:仅屏蔽无法解决已收录页面的问题,需配合后续跳转方案。
操作步骤:
robots.txt文件。User-agent: Baiduspider
Disallow: /wp-json/oembed/
SEO意义直接从源头减少无效页面的抓取,避免百度浪费资源在无意义的API上。但缺点是:已收录的页面不会自动消失,且用户手动输入oembed链接时仍会看到空白页面。
这是最彻底的解决方案:无论用户还是百度爬虫访问oembed页面都会通过301永久跳转到对应的真实文章页面。301跳转能将权重传递给新页面一边让搜索引擎更新索引。
注意根据服务器环境不同,配置方式分为Apache和Nginx两种:
在网站根目录的.htaccess文件中添加以下代码:
# WordPress伪静态规则
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - 
RewriteCond %{REQUEST_FILE不结盟E} !-f
RewriteCond %{REQUEST_FILE不结盟E} !-d
RewriteRule . /index.php 
 
# oembed页面301跳转规则
RewriteEngine On
RewriteCond %{QUERY_STRING} ^url=&format=xml$
RewriteRule ^wp-json/oembed/1.0/embed$ /?redirect=%1 
代码解析:
RewriteCond %{QUERY_STRING} ^url=&format=xml$匹配包含“url=”和“format=xml”的查询字符串。RewriteRule ^wp-json/oembed/1.0/embed$ /?redirect=%1 将匹配到的oembed页面跳转到根目录的“redirect”参数,并传递原文章URL。在Nginx的配置文件中添加:
location ~* ^/wp-json/oembed/1.0/embed$ {
    if &format=xml") {
        return 301 $1;
    }
}
SEO意义301跳转能明确告诉百度“这个页面已永久迁移到新地址”, 从而将原页面的权重和索引转移到真实页面避免权重分散。一边,用户访问时也能直接看到正常内容,跳出率大幅降低。
如果你确定网站不需要oembed功能, 可以直接在WordPress中禁用该功能,从根源上杜绝oembed页面的生成。
functions.php文件。// 禁用oembed功能
function disable_oembed {
    wp_oembed_remove_provider?youtube\.com/watch#i');
    wp_oembed_remove_provider?vimeo\.com/.*#i');
    // 可根据需要添加其他平台, 如微博、腾讯视频等
}
add_action;
注意此方法会禁用所有oembed功能,如果你的网站需要支持“微信文章预览”等第三方嵌入,可能会导致功能异常,建议谨慎使用。
解决当前问题只是第一步, 建立长期的SEO监控机制才是关键:
使用百度搜索资源平台的“索引量”工具,定期查询网站的收录页面类型。如果发现大量API页面被收录,需及时排查并处理。一边, 可以通过site:yourdomain.com/wp-json命令手动检查,确保无异常页面。
百度近年来更倾向于收录“内容深度强、用户体验好”的页面。建议:
如果你的网站移动端流量占比较高,可以考虑部署百度MIP技术。MIP页面会屏蔽无用的API调用,一边大幅提升加载速度,既能减少无效收录,又能提升用户留存率。WordPress可通过插件一键实现。
解决WordPress wp-json/oembed/页面被百度收录的问题,本质上是优化“用户体验”与“搜索引擎抓取效率”的平衡。通过robots.txt屏蔽、 伪静态跳转、功能禁用等方法,我们可以快速清理无效页面将权重集中在真实内容上。但请记住:技术手段只是辅助,长期SEO竞争力的核心始终是优质内容和良好体验。
建议每季度对网站进行一次SEO审计,检查收录情况、页面质量和跳出率,及时调整策略。只有将技术优化与内容创作结合,才能让网站在百度的排名中稳步提升,实现流量的持续增长。
再说说提醒修改服务器配置或主题文件前, 务必先备份网站,避免因操作失误导致网站无法访问。如果你对技术细节不熟悉,建议联系专业技术人员协助处理,确保万无一失。
Demand feedback