同一站点的多个域的站点地图

     2023-02-25     298

关键词:

【中文标题】同一站点的多个域的站点地图【英文标题】:sitemap for multiple domains of same site 【发布时间】:2011-09-19 13:58:25 【问题描述】:

情况就是这样,我有一个可以从多个域访问的网站,比如说 www.domain1.com、www.domain2.net、www.domain3.com。域访问完全相同的代码库,但根据域,加载不同的 CSS、图形等。

一切正常,但现在我的问题是如何处理 sitemap.xml? 我为默认域 (www.domain1.com) 编写了 sitemap.xml,但是当从其他域访问该站点时呢? sitemap.xml 的内容将包含错误的域。

我读到我可以将多个站点地图文件添加到 robots.txt,这是否意味着我可以创建 sitemap-domain2.net.xmlsitemap-domain3.com .xml(包含与匹配域的链接)并简单地将它们添加到 robots.txt?

不知何故,我怀疑这是否可行,因此我求助于您的专家来阐明这个问题:)

谢谢

【问题讨论】:

【参考方案1】:

我现在正在从事的一个项目也面临着类似的情况。而谷歌搜索中心其实有以下答案:

如果您有多个网站,您可以通过创建一个或多个站点地图来简化创建和提交站点地图的过程,方法是创建一个或多个站点地图,其中包含所有已验证站点的网址,并将站点地图保存到一个位置。所有网站都必须在 Search Console 中进行验证。

看来,只要您在 Google Search Console 中添加了不同的域作为您的属性,至少 Google 会知道如何处理其余的域,即使您仅将其他域的站点地图上传到您的一个Google Search Console 中的属性。

对于我的用例,然后我使用服务器端代码生成站点地图,其中所有包含英语内容的动态页面最终都会在我的 .io 域上获得一个位置,而我的包含德语内容的页面最终会在 .io 域上获得一个位置。域名:

<url>
    <loc>https://www.mydomain.io/page/some-english-content</loc>
    <changefreq>weekly</changefreq>
</url>
<url>
    <loc>https://www.mydomain.de/page/some-german-content</loc>
    <changefreq>weekly</changefreq>
</url>

然后 Google 会处理其余的事情。见docs。

【讨论】:

【参考方案2】:

/robots.txt 请求的 Apache 重写规则

如果您使用 Apache 作为网络服务器,您可以创建一个名为 robots 的目录,并通过在 .htaccess 文件中使用重写规则为您在该 VHOST 上运行的每个网站放置一个 robots.txt,如下所示:

# URL Rewrite solution for robots.txt for multidomains on single docroot
RewriteCond %REQUEST_FILENAME !-d # not an existing dir
RewriteCond %REQUEST_FILENAME !-f # not an existing file
RewriteCond robots/%HTTP_HOST.txt -f # and the specific robots file exists
RewriteRule ^robots\.txt$ robots/%HTTP_HOST.txt [L]

/robots.txt 请求的 NginX 映射

当使用 NginX 作为网络服务器时(同时以 yourdomain1.tldyourdomain2.tld 作为示例域),您可以使用以下条件变量实现与上面帖子相同的目标(将此 外部服务器指令):

map $host $robots_file 
    default /robots/default.txt;
    yourdomain1.tld /robots/yourdomain1.tld.txt;
    yourdomain2.tld /robots/yourdomain2.tld.txt;

这样您就可以在服务器指令内的try_files 语句中使用此变量:

location = /robots.txt 
    try_files /robots/$robots_file =404;

/robots/*.txt 的内容

在为特定于域的 robots.txt 文件设置别名后,使用文件底部的以下语法将站点地图添加到每个机器人文件(例如:/robots/yourdomain1.tld.txt):

# Sitemap for this specific domain
Sitemap: https://yourdomain1.tld/sitemaps/yourdomain1.tld.xml

为您拥有的所有域执行此操作,您将被设置!

【讨论】:

【参考方案3】:

我发现实现这一目标的最简单方法是使用 XML 站点地图生成器为每个域名创建站点地图。 将 /sitemap.xml 放在域或子域的根目录中。 转到 Google 搜索并为每个域名创建单独的属性。 在 Search Console 中向每个域提交适当的站点地图。提交会说显示成功。

【讨论】:

【参考方案4】:

您必须确保每个 XML sitemap match within domain/subdomain 中的 URL。但是,如果您真的需要,您可以使用“Sitemaps & Cross Submits”在一个域外观上托管所有站点地图

【讨论】:

【参考方案5】:

我不是这方面的专家,但我有类似的情况

我的情况是我有一个域但有 3 个子域

所以发生的情况是每个子域都包含 sitemap.xml

但由于我的情况是每个子域的目录不同

但我很确定 sitemap.xml 可以为每个域指定。

【讨论】:

【参考方案6】:

您应该使用服务器端代码根据域名向/sitemap.xml发送正确的站点地图

【讨论】:

我将如何采用这种方法?在 .htaccess 中指定一些重写规则,它将提供一些 PHP 文件,这些文件将根据域返回正确的 XML?哎呀,我喜欢那个声音,关于 mod_rewrite 部分的任何想法? :D

同一站点的多个选项卡是不是发送多个 ajax 调用?

】同一站点的多个选项卡是不是发送多个ajax调用?【英文标题】:Doesmultipletabsofsamesitesendmultipleajaxcalls?同一站点的多个选项卡是否发送多个ajax调用?【发布时间】:2013-03-2320:01:01【问题描述】:假设我们有网站,每秒钟检查一... 查看详情

同一个iis绑定多个htts站点问题

默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口要实现多个站点对应HTTPS只能更改IIS配置地址:C:Windowssystem32inetsrvconfigapplicationHost.config默认一个站点带一个这样的配置    <bindingprotocol="https"bindingInformation=... 查看详情

Laravel 5.2 - 每个域的 Homestead 相同站点加载

】Laravel5.2-每个域的Homestead相同站点加载【英文标题】:Laravel5.2-Homesteadsamesiteloadingforeverydomain【发布时间】:2016-04-1720:14:58【问题描述】:无论出于何种原因,我都无法让多个网站与Homestead合作。添加的每个新站点,当我在浏览... 查看详情

同一服务器实例上多个静态站点的 Nginx 配置

】同一服务器实例上多个静态站点的Nginx配置【英文标题】:Nginxconfigurationformultiplestaticsitesonsameserverinstance【发布时间】:2019-07-2210:15:12【问题描述】:我有三个静态网站。我正在使用Vue2并为每个文件夹运行构建。我想在同一个... 查看详情

Laravel Forge - 同一服务器上的多个站点

】LaravelForge-同一服务器上的多个站点【英文标题】:LaravelForge-multiplesitesonthesameserver【发布时间】:2017-05-2211:53:05【问题描述】:在过去的几个月里,我一直在尝试学习php/laravel。我已经制作了一些laravel爱好应用程序,我想把它... 查看详情

如何使用 docker 和 nginx 在同一台服务器上运行多个站点?

】如何使用docker和nginx在同一台服务器上运行多个站点?【英文标题】:HowdoIrunmultiplesitesonthesameserverusingdockerandnginx?【发布时间】:2021-11-0915:54:44【问题描述】:我试图在同一台服务器上以不同的ip在django上运行两个站点,出现... 查看详情

apache2:在本地服务器的同一域下托管多个站点

】apache2:在本地服务器的同一域下托管多个站点【英文标题】:apache2:hostmultiplesitesundersamedomaininlocalserver【发布时间】:2017-03-1521:34:39【问题描述】:我有一个带有LAMP、ubuntu和apache2的本地服务器,并且想安装几个Web应用程序(o... 查看详情

如何在只有***元素的 asp.net 中制作基于站点地图的菜单?

...图制作菜单。您如何嵌套站点地图节点以使它们都显示在同一级别上。这是我所拥有的:<siteMapxmlns="http://schemas. 查看详情

NGINX访问多个站点相同的IP url

...有服务器,我使用IP从我的计算机远程访问它。两者都在同一个局域网上。在目录/var/www/我有两个站点“nextcloud”和 查看详情

指定站点地图语言(所有站点地图的语言相同)

】指定站点地图语言(所有站点地图的语言相同)【英文标题】:Specifysitemaplanguage(samelanguageforallsitemap)【发布时间】:2020-10-1507:24:43【问题描述】:根据Google的说法,您可以像这样在站点地图中指定语言:<url><loc>http://... 查看详情

使用 apache mod_wsgi 的 Django 多个站点:请求到错误的站点

...使我使用另一个站点的主机名,我的所有请求都将发送到同一个Djan 查看详情

将所有域的所有站点重定向到新域,而不使用尾随查询字符串

】将所有域的所有站点重定向到新域,而不使用尾随查询字符串【英文标题】:Redirectallsitesofalldomaintonewdomainwithouttrailingquerystring【发布时间】:2012-12-2718:39:21【问题描述】:我想将旧域上的所有请求重定向到新域的主页(根站... 查看详情

IIS 中的多个站点。 HTTPS 冲突

...使用带有IISv6.1的Windows服务器(但在旧版本上相同)我在同一个IP地址上托管多个网站,每个网站都有一个唯一的域,它运行良好……非常标准。我最近使用HTTPS/SSL证书设置了其中1个网站,该证书在该网站上运行良好。但是..当... 查看详情

在一个 IP 上托管多个 Golang 站点并根据域请求提供服务?

...何在url中不指定端口(xxx.xxx.xxx.xxx:8084)的情况下,使用同一个VPS(同一个IP)服务多个Golang网站?例如 查看详情

如何将 cookie 用于 HTML 和 API 调用具有不同域的站点?

】如何将cookie用于HTML和API调用具有不同域的站点?【英文标题】:HowcanIusecookieswithasitewheretheHTMLandtheAPIcallshavedifferentdomains?【发布时间】:2020-07-1702:15:29【问题描述】:我在静态服务器(恰好是AmazonS3)上托管一个单页应用程序... 查看详情

访问同一个web站点.如果只有你和我两个人访问.那么这站点的服务器会有几个相关的

访问同一个web站点.如果只有你和我两个人访问.那么这站点的服务器会有几个相关的线程呢?进程呢?这和几个用户没关系,和有几个请求有点关系,具体看下面这篇文档:servlet多线程Servlet体系结构是建立在Java多线程机制之上的... 查看详情

React Gatsby Graph QL - 过滤站点地图的文章

】ReactGatsbyGraphQL-过滤站点地图的文章【英文标题】:ReactGatsbyGraphQL-filterarticlesforsitemap【发布时间】:2021-10-3116:51:03【问题描述】:我使用Flexiblocks创建了一个Gatsby博客。问题是我想专门为GoogleNews创建一个站点地图,这将不同于... 查看详情

apache配置多个https站点(代码片段)

工作中经常会遇到多个站点实现https访问,并指向同一个网页,本文将详解如何在Centos环境下配置Apache多站点实现HTTPS访问。准备工作OS:CentOSrelease6.8(Final)Web:Apache安装Apache1、安装Apache[[email protected]~]#yuminstallhttpd-y2、启动服... 查看详情