Python技巧
daphne+nginx+channels+redis 在Ubuntu 24.04布署流程
ubuntu24设置uwsgi和nginx开机自启动(设置并开启service)
如何在Ubuntu 24.04上使用uwsgi+django+Nginx来部署python3应用程序
开启nginx 开机自启动服务
网站建设
ubuntu 裸机安装相关包
sitemap.xml相关操作
项目更新时数据表迁移相关操作
ubuntu 防攻击,扫描相关的命令
ubuntu 运维相关的命令
DetailView 的自动机制
C盘清空指南
ubuntu 上的 Redis 配置
linux ubuntu centos 清理垃圾
在nginx 里 配置跨域访问控制
MYSQL数据库常用操作命令
将MYSQL数据库从一台服务器移植到另一台服务器
向Mysql插入Emoji表情时失败了,python代码报以下异常:InternalError: 1366
Centos7+nginx下为域名免费安装ssl证书
Centos7,Centos8防火墙相关的命令
Centos7.5+nginx布署python3+django WEB服务器
js/jQuery技巧
VPS推荐
在 Google Search Console(谷歌搜索控制台)相关操作
如何在 本地win11 安装 Rclone,并使用Rclone上传文件到Cloudflare
域名申请
111111
构建安卓APP
Android Studio 如何修改 Package Name
Android使用WebView将H5网站打包成apk,如何去掉标题,如何更换应用图标
Android使用WebView加载网站,无法上传图片的解决方法
在 Google Search Console(谷歌搜索控制台)相关操作
在 Google Search Console(谷歌搜索控制台)上添加 sitemap.xml 是非常正确且必要的做法。它可以极大地加速谷歌蜘蛛(Googlebot)对你网站视频、标签页或文章页的抓取与收录。 关于 sitemap.xml 的格式、中文 URL 的处理以及谷歌控制台的提交方法:
一,文件的格式如何? Sitemap(站点地图)最标准的格式是 XML 格式。一个标准的、包含基础字段的 sitemap.xml 结构如下: <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://hlfuli.com/</loc> <lastmod>2026-06-17</lastmod> <changefreq>daily</changefreq> <priority>1.0</priority> </url> <url> <loc>https://hlfuli.com/tag/%E5%81%B7%E6%83%85/</loc> <lastmod>2026-06-17</lastmod> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> </urlset>
二,标签核心含义: <loc>:页面绝对路径(最核心,必填)。 <lastmod>:该页面的最后更新时间(格式为 YYYY-MM-DD)。告知谷歌该页面有没有新内容。 <changefreq>:更新频率(如 always, hourly, daily, weekly, monthly),给谷歌提供抓取频率参考。 <priority>:权重(0.0 到 1.0),告诉谷歌哪些页面在你的网站中更重要。
三,URL 可以带中文吗?为什么复制出来会变样? 结论:在 sitemap.xml 文件中,URL 绝对不能直接写原生中文,必须使用你复制出来的这种“百分号编码(URL Encode)”。 为什么复制后会变成 %E5%81%B7%E6%83%85? 你在浏览器地址栏看到的是人类可读的中文 https://hlfuli.com/tag/偷情/,这是浏览器为了优化用户体验专门做了美化显示。 但实际上,底层的互联网 HTTP 协议和网络标准只支持 ASCII 字符(英文字母、数字和部分符号)。中文属于多字节字符,在进行网络传输时,必须通过 UTF-8 编码 转化为 16 进制,并在每个字节前加上 %。这就是你看到的 URL 编码(UrlEncode)。 在网站和代码中应该怎么做? Sitemap 文件中:必须写入编码后的地址,即 <loc>https://hlfuli.com/tag/%E5%81%B7%E6%83%85/</loc>。如果直接写纯中文,谷歌在解析 XML 文件时会直接报错,导致整个站点地图失效。 Django / 程序生成时:如果你是用 Python/Django 自动生成 sitemap,当你把带有中文的路由传给 XML 生成库时,标准库通常会自动帮你转换(例如使用 Python 的 urllib.parse.quote 模块)。你只需要确保输出到 XML 里的最终字符串是带 % 的即可。 3. 如何在 Google 搜索控制台添加? 生成并上传文件:首先确保你的程序能在网站根目录下访问到这个文件,例如访问 https://hlfuli.com/sitemap.xml 能正常看到 XML 代码。 登录控制台:进入 Google Search Console。 找到菜单:在左侧导航栏的“索引 (Indexing)”分类下,点击“站点地图 (Sitemaps)”。 提交地图:在“添加新的站点地图”输入框中,输入你的文件名 sitemap.xml,然后点击提交。 提交后,状态一开始可能会显示“获取中”,通常几分钟到几小时内会变成绿色的“成功”。谷歌随后就会顺着这个列表去排队抓取你的视频和标签页面。对于视频导航类或经常更新标签的网站,这能显著提升收录效率。
四,sitemap.xml 通常需要放在网站的根目录下,也就是说,用户和谷歌蜘蛛通过 https://hlfuli.com/sitemap.xml 必须能够直接访问到它。 因为你使用的是 Django + Nginx 的架构,Django 本身是处理动态路由的,如果直接把 sitemap.xml 丢在项目根目录下,Nginx 或 Django 默认是找不到它的(会报 404)。 针对这种架构,通常有两种最主流的配置和处理方式: 方案一:让 Nginx 直接拦截并指向物理文件(推荐,性能最高) 如果你是在本地生成好了一个静态的 sitemap.xml 文件,或者通过 Python 脚本定期生成并保存在服务器的某个物理路径下(比如静态资源目录),你只需要在 Nginx 配置文件 中加几行代码,让 Nginx 绕过 Django,直接把这个文件顶到根目录下。
五, 1. 物理文件存放 假设你的文件放在服务器的 /var/www/hlfuli/static/sitemap.xml。 2. Nginx 配置 打开你的 Nginx 虚拟主机配置文件(通常在 /etc/nginx/sites-available/ 或 nginx.conf),在 server 块中添加一个专门的 location: server { listen 80; server_name hlfuli.com; # ... 你原本的其他配置 (例如 proxy_pass 到 uwsgi/gunicorn) ... # 核心配置:拦截 sitemap.xml 请求 location = /sitemap.xml { alias /var/www/hlfuli/static/sitemap.xml; access_log off; # 可选:关闭这个文件的访问日志,减少磁盘 I/O expires 1d; # 可选:告诉浏览器/谷歌缓存一天 } }
六,注意:location = /sitemap.xml 中的 = 表示精确匹配。当谷歌访问 hlfuli.com/sitemap.xml 时,Nginx 会直接从服务器磁盘读取该文件返回,完全不经过 Django,速度极快。 配置完成后,记得执行 nginx -t 检查语法,然后 systemctl reload nginx 生效。
删除文章
展示文章
友情链接
2026.6.8