MihirR
(Mihir)
1
大家好,
我正在运行一个 Discourse 论坛,重建后遇到了一个主要的 SEO + 索引问题,需要帮助。
发生了什么:
-
我原来的 Discourse 论坛崩溃了,我丢失了大约 10,000 个主题。
-
我从头重建了论坛,保留了相同的域名和相同的 Google Search Console (GSC) 属性。
-
由于 Discourse 使用增量主题 ID,新创建的主题现在重用旧的主题 ID(例如,/t/783 以前属于已删除的主题,现在它被分配给了一个新的主题)。
目前的问题:
-
GSC 显示超过 12,000 个“已抓取 - 未编入索引” 的 URL。
-
像 /t/old-topic-title/783 这样的旧主题 URL 仍然被索引或被抓取。
-
这些 URL 现在指向新内容(例如,/t/new-topic-title/783),这会导致搜索中的标题不匹配,并可能触发重复/单薄内容惩罚。
-
一些旧的主题 URL 仍然在提供服务(不是 404 或 410),并且与具有相同 ID 的当前主题合并。
-
站点地图包含重用的 ID,进一步混淆了抓取工具。
我应该怎么做才能解决这个问题?
在 postgres 中,您可以手动将 topic ID 序列设置为一个较高的值,例如 20000,这样新的 topic 将从该数字开始:
SELECT setval('topics_id_seq', 20000, false);
您丢失了服务器本身? 
2 个赞
MihirR
(Mihir)
3
是的,包括整个数据库。
所以我新建了一个,现在已经有大约 6000 个主题了,那么从现在开始,我应该从 2 万个开始做吗?
理想情况下,您应该在新站点创建后立即执行此操作,但现在为时已晚。
亡羊补牢,犹未为晚 - 如果该序列当前为 6000,您将其设置为 20000,则下一个新主题的 ID 将为 20000 而不是 6000。
1 个赞
MihirR
(Mihir)
5
所以就像 1-5999,然后是 2000 等等?对吗?并且希望这不会在后续阶段引起任何问题?
或者我应该就此作罢,随着时间的推移,新的主题会覆盖旧的主题?
此建议是为了解决您关于旧主题 ID 被“重复使用”的投诉。将该序列提升到 20000 将防止创建 6000 到 19999 之间的任何主题。
3 个赞
MihirR
(Mihir)
7
是的,假设它甚至会随着时间推移而覆盖,比如 6000 等等,并使用新的主题 URL,这不会导致任何问题,或者未来可能会破坏某些东西。