对于静态网站,我们可以拥有" page.html"。此页面没有任何参数,例如"?param = value。
它将被搜索引擎和其他东西编入索引。这里没问题。
但是我想知道单个页面时索引的实际情况,例如" lessons.php?lessonID = 1"有一些参数,其内容与page" lessons.php?lessonID = 2"。
形成鲜明对比。它们是否被编入两个不同的页面? 他们至少被认为是一台机器的两个不同的页面"查看?
(P.S:我在问,因为我要在这样的页面上安装disqus评论系统而且我不知道评论是否会因为不同的页面参数(例如lessonID)而有所不同。
答案 0 :(得分:0)
尝试使用rewrite_mod重写您的lessons.php
等
RewriteRule ^lessons\.php?lessonID=([0-9]+)$ lessons/lesson$1.html [NC,L]
答案 1 :(得分:0)
您正在寻找的术语是“搜索引擎优化”,也称为“搜索引擎优化”。
这是一个非常广泛的领域,有很多因素可以影响页面在搜索引擎中的排名。但你认为查询参数可以产生影响是正确的。
查询参数被视为静态网址的一部分,因此将由Google和其他人编入索引。如果您的网址包含查询参数,则可以在Google搜索中显示。
十年前,您可能已经编写了这样的大部分网站,几乎每个网址上都有查询参数,Google很乐意将其列在其列表中。
但是,当前的SEO最佳做法是避免要编入索引的URL的查询参数。搜索引擎强烈支持没有它们的URLS,因此尽管您的网页仍会被编入索引,但它们可能会在排名中显得很长。
为了提高您的排名,有很多技巧,但您应该尝试的第一个是转换您的网站,以便它不会使用带有查询参数的网址。
如果您查看此网站(即StackOverflow),您会看到问题的网址如下/questions/31873163/question-description
。
question-description
部分纯粹用于搜索引擎优化 - 它在Google中为Google提供了大量相关的关键字,但在加载页面时会完全忽略它。
重要的是/questions/31873163/
。加载页面时,会将其作为查询参数进行处理,例如questionID=31873163
。
所有现代开发框架都支持生成这种URL而不是查询参数,特别是为了提高SEO排名。
如果您没有使用现代开发框架,您仍然可以通过配置Web服务器手动执行此操作。例如,如果您使用的是Apache Web服务器,则需要使用其mod_rewrite
功能预先处理带有斜杠的传入URL,以便您的PHP代码将它们作为查询参数接收。网上有大量的教程可以帮助你做到这一点,虽然手动操作可能很棘手,所以我建议使用像Laravel这样的框架,这样你就不需要用mod_rewrite代码弄脏你的了。
答案 2 :(得分:0)
由索引URL的人决定哪些部分很重要。
理论上,每个URL参数都很重要,索引的URL包含查询字符串。但是,Google知道网址参数通常可以按任何顺序显示,而其中一些参数不会主要影响内容(例如任何分析utm_*
参数),因此在编制索引时会忽略它们。
查看他们要说些什么"活跃"和"被动"参数https://support.google.com/webmasters/answer/6080550?hl=en