.htaccess 获得;mywebsite.org/“我的网站”;决心;mywebsite.org/index.php“;
我的老板认为,在我的工作中,我们有各种各样的网页,它们的排名低于应有的排名,因为“mywebsite.org/category/”看起来与“mywebsite.org/category/index.php”不同,尽管它们显示的是同一个文件。我不认为这样有效,但他确信。也许我错了。我有两个问题:.htaccess 获得;mywebsite.org/“我的网站”;决心;mywebsite.org/index.php“;,.htaccess,redirect,seo,indexing,http-status-code-301,.htaccess,Redirect,Seo,Indexing,Http Status Code 301,我的老板认为,在我的工作中,我们有各种各样的网页,它们的排名低于应有的排名,因为“mywebsite.org/category/”看起来与“mywebsite.org/category/index.php”不同,尽管它们显示的是同一个文件。我不认为这样有效,但他确信。也许我错了。我有两个问题: 如何使其在所有子类别的地址栏中显示“index.php” pagerank真的是这样工作的吗 可能想看看robots.txt文件?这不是最好的解决方案,但你应该能够用它们实现一些可行的东西 您不会告诉我们
可能想看看robots.txt文件?这不是最好的解决方案,但你应该能够用它们实现一些可行的东西
底线是,你需要确保你网站中的所有链接都使用其中一个。地址栏中实际显示的内容并不重要。一个简单的解决方案是放入
标记:
<link rel="canonical" href="http://mywebsite.org/category/" />
然后,无论搜索引擎最终出现在哪个页面,它都会知道这只是一个不同的/category/
至于你的第二个问题——是的,如果谷歌认为你在发垃圾邮件,它会影响你的搜索结果。如果不是,他们就不会添加对
rel=“canonical”
的支持。尽管如果他们将somedir/index.*
与somedir/
一样对待,我也不会感到惊讶,但将此代码添加到每个页面的顶部也应该有效:
<?php
if (substr($_SERVER['REQUEST_URI'], -1) == '/') {
$new_request_uri = $_SERVER['REQUEST_URI'].'index.php';
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$new_request_uri);
exit;
}
?>
我不确定/category/和/category/index.php是否被视为搜索引擎优化的两个URL,但它很有可能以某种方式影响它们。只是为了确定,快速的改变并没有什么错 一些想法: URL 您最好不要添加/index.php,这样它们中的任何一个都没有index.php,因为关键字“index”可能不是您想要的 您可以创建一个脚本,检查当前页面的URL是否以index.php结尾,并将其删除,然后转发到生成的URL 例如,在我的一个站点上,我需要我的域的“www.”(www.domain.com和domain.com被认为是两个用于搜索目的的URL,但并不总是这样),因此我有一个脚本来检查每个页面,如果没有www,它会对其进行广告和转发
if (APPLICATION_LIVE) {
if ( (strtolower($_SERVER["HTTP_HOST"]) != "www.domain.com") ) {
header("HTTP/1.1 301 Moved Permanently"); // Recognized by search engines and may count the link toward the correct URL...
header("Location: " . 'www.domain.com/'.$_SERVER["REQUEST_URI"] );
exit();
}
}
你可以将其设置为你需要的模式
这样,如果爬虫访问了错误的URL,它将被通知已被正确的URL替换。如果一个人访问了错误的URL,他们将被转发到正确的URL(大多数人不会注意到),然后如果他们从浏览器复制URL以发送某人或链接到该页面,他们将最终链接到该页面的正确URL
链接URL
他们认为其他页面链接到你的页面的方式对seo更重要。确保所有站点内链接都使用正确的URL(不带/index.php),并且如果有“链接到此页面”功能,则不包括/index.php部分。您无法控制每个人链接到您的方式,但您可以控制它,就像第1项中的脚本一样
URL路由
您可能还想考虑使用某种框架或独立的URL重路由方案。它可以使它有更多的关键字,等等
请参见此处的示例:我同意所有人的意见,他们说要放弃index.php。请不要强迫访问者键入index.php,如果不键入,可能会得到相同的结果 你没有说你是在IIS还是Apache服务器上。 可以将IIS设置为假定index.php是默认页面,以便http://mywebsite.org/在不包含index.php的情况下正确解析 我想说的是,如果您想包含默认页面并强制用户在url中键入页面名称,请使页面名称对搜索引擎和访问者有意义 例如:
http://mywebsite.org/teaching-web-scripting.php
对于搜索引擎优化排名来说,它远比
http://mywebsite.org/index.php
你可能想把SEO添加到你的标签中。事实上,我建议换一种方式,将“mydir/index.php”重定向到“mydir/”短URL的排名高于长URL的排名,因此对于相同的搜索词,“mywebsite.org/category/”的排名高于“mywebsite.org/category/index.php”(所有其他因素都是相同的)。@BoltBait:有消息来源吗?哪家搜索引擎会这样处理?我当然不会,但这是我的老板确信的。公正的评论。这不是最初的问题,这就是为什么我使用这个例子,但我也更喜欢没有“index.php”的例子,它看起来“更干净”。@migala77是的,删除了评论,忘记了他明确要求mydir/index.php成为规范。将其添加为问题的注释。