我的知识记录

域名更换完整指南_新手也能看懂的迁移教程

域名绑定完整流程。把域名绑定到服务器/网站,按以下流程:1.服务器准备——a.服务器已购买并运行(云服务器/虚拟主机/VPS),记录服务器公网IP;b.Web服务已安装并运行(Nginx/Apache/IIS,或宝塔面板等管理面板);c.网站程序已部署到服务器(文件+数据库,网站目录如/var/www/example);d.防火墙/安全组开放80(HTTP)和443(HTTPS)端口(云服务器安全组+服务器防火墙iptables/firewalld)。2.DNS解析——a.登录域名DNS服务商(阿里云/腾讯云DNSPod/Cloudflare/注册商自带DNS);b.添加A记录:主机记录@(根域名example.com)和www(www.example.com),记录类型A,记录值填服务器公网IP,TTL默认600;c.如果用CDN,添加CNAME记录指向CDN服务商提供的地址(如example.com.cdn.dnsv1.com),根域名@慎用CNAME(用A记录或CDN商提供的@CNAME方案/ANAME);d.子域名(如blog.example.com)单独加A/CNAME记录;e.验证解析:nslookup 域名 或 ping 域名,看是否解析到服务器IP(解析生效需要几分钟到几小时,等TTL)。3.Web服务器绑定域名——a.Nginx:编辑站点配置文件(/etc/nginx/conf.d/example.conf 或 /etc/nginx/sites-available/example),server块里server_name example.com www.example.com;(绑定多个域名空格分隔),root /var/www/example;(网站目录),index index.php index.html;,配置PHP解析(location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }),测试配置nginx -t,重载systemctl reload nginx;b.Apache:编辑虚拟主机配置(/etc/httpd/conf.d/example.conf 或 /etc/apache2/sites-available/example.conf), ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example AllowOverride All Require all granted ,启用站点a2ensite example,重载systemctl reload httpd/apache2;c.IIS:IIS管理器→网站→绑定→添加→类型http/https→IP地址→端口80→主机名example.com→确定,同样添加www,网站物理路径指向网站目录,配置应用池/.NET版本/PHP(FastCGI);d.宝塔面板:宝塔面板→网站→添加站点→域名填example.com,www.example.com→根目录→PHP版本→数据库(可选)→提交,自动配置Nginx/Apache虚拟主机,在站点设置里可改域名/SSL/伪静态/301。4.测试访问——a.浏览器访问http://example.com和http://www.example.com,看是否正常打开网站(解析生效+Web配置正确);b.如果显示默认页/404/其他网站,检查server_name是否正确(域名有没有绑对)、网站目录root是否正确、配置有没有重载、DNS解析是否到正确IP;c.如果连接超时,检查防火墙/安全组是否开80端口、Web服务是否运行、服务器IP是否正确。5.SSL/HTTPS(可选但建议)——a.申请SSL证书(Let's Encrypt免费/宝塔一键申请/云服务商免费证书/付费证书);b.Nginx配置443 server块:listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; ssl_protocols TLSv1.2 TLSv1.3; 其他配置同80;c.配置80→443 301跳转(server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; });d.宝塔面板:站点设置→SSL→Let's Encrypt→申请(自动验证DNS/文件)→开启强制HTTPS;e.测试https://example.com,看地址栏小锁,证书有效。6.其他配置——a.伪静态/URL重写(ThinkPHP/WordPress等程序需要,Nginx try_files $uri $uri/ /index.php?$query_string;,Apache .htaccess,宝塔站点设置→伪静态选对应程序);b.默认文档(index顺序);c.目录权限(网站目录属主www-data/nginx,权限755目录644文件,上传目录777或属主Web用户);d.日志(access_log/error_log路径,便于排查)。域名绑定核心:DNS解析到服务器IP(A/CNAME)+Web服务器server_name绑定域名+防火墙开80/443+网站目录正确,四步缺一不可,任何一步错都会导致域名打不开或显示默认站。

多域名绑定、子目录绑定、泛域名、虚拟主机绑定、Docker绑定、常见问题。1.多个域名绑定同一网站——场景:一个网站有多个域名(如旧域名+新域名、品牌域名+缩写域名、.com+.cn+.net、主域名+地区域名),都指向同一个网站内容。a.Nginx:server_name 域名1 域名2 域名3;(空格分隔,如server_name example.com www.example.com example.cn www.example.cn;),所有域名都解析到同一服务器IP,访问任一域名都显示同一网站,如果需要某个域名301到主域名(规范URL,SEO集中权重),单独server块301:server { listen 80; server_name 旧域名 其他域名; return 301 https://主域名$request_uri; },主域名server块正常服务;b.Apache:ServerName 主域名 ServerAlias 域名2 域名3(ServerAlias可以多个,空格分隔);c.IIS:网站绑定→添加多个主机名(每个域名一个绑定,IP+端口80+主机名);d.宝塔:添加站点时域名填多个(逗号分隔,如example.com,www.example.com,example.cn),或站点设置→域名管理→添加域名;e.注意:1.多域名内容相同会导致SEO重复内容(搜索引擎认为多个域名重复内容,分散权重),建议选一个主域名,其他域名301到主域名(集中权重),除非有特殊需求(如地区域名/语言域名);2.SSL证书要包含所有绑定域名(多域名证书SAN或通配符,否则部分域名HTTPS报证书错误,Let's Encrypt可以签多个域名);3.所有域名都要备案(国内服务器,每个域名都要备案/接入,否则未备案域名访问被拦截);4.程序内的站点URL设为主域名(生成链接/图片用主域名,避免内容里出现其他域名)。2.子域名绑定子目录(二级域名指向子目录)——场景:blog.example.com指向网站/blog子目录,shop.example.com指向/shop子目录,实现子域名独立站点或子应用。a.Nginx方法一(root指定子目录):server { listen 80; server_name blog.example.com; root /var/www/example/blog;(直接把root设为子目录,index index.php index.html; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } })(最简单,子域名根目录就是子目录,适合独立子站点);b.Nginx方法二(alias):server { listen 80; server_name blog.example.com; root /var/www/example; location / { alias /var/www/example/blog/;(alias指定子目录,注意末尾斜杠) try_files $uri $uri/ /blog/index.php?$query_string; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/example/blog$fastcgi_script_name; include fastcgi_params; } }(alias适合子目录是主站的一部分,注意alias和root的区别+PHP路径要对);c.Nginx方法三(rewrite):server { listen 80; server_name blog.example.com; root /var/www/example; rewrite ^/(.*)$ /blog/$1 last;(重写到子目录,然后用主站location处理) }(简单但可能有路径问题,推荐方法一root直接指定);d.Apache: ServerName blog.example.com DocumentRoot /var/www/example/blog (直接DocumentRoot设为子目录,最简单);e.注意:1.子域名要加DNS解析(A/CNAME指向服务器,如blog.example.com A 服务器IP);2.子目录要有独立的程序/配置(如果是独立子站点,子目录里有完整程序+独立数据库或表前缀,如果是主站子应用,配置路径要对);3.伪静态/URL重写要适配子目录(ThinkPHP等程序在子目录运行,rewrite规则要加子目录前缀,或用root直接指定子目录避免路径问题);4.SSL证书要包含子域名(通配符*.example.com或多域名证书);5.子目录权限(属主Web用户,权限正确)。3.泛域名绑定(*.example.com批量绑定)——场景:无限子域名都指向同一网站/应用(多租户SaaS/用户自定义子域名/泛解析站点)。a.DNS:添加泛解析A记录,主机记录*,记录值服务器IP(*.example.com→服务器IP,所有未单独配置的子域名都解析到服务器);b.Nginx:server { listen 80; server_name *.example.com;(泛域名匹配,或用~^(?.+).example.com$正则捕获子域名) root /var/www/example;(所有子域名同一目录,或根据子域名动态root:root /var/www/users/$sub; 用正则捕获的子域名变量) index index.php; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }(正则捕获子域名:server_name ~^(?.+).example.com$; 然后root /var/www/users/$sub; 实现每个子域名不同目录,适合多租户);c.Apache: ServerName example.com ServerAlias *.example.com DocumentRoot /var/www/example(或用mod_vhost_alias动态目录:VirtualDocumentRoot /var/www/users/%1) (mod_vhost_alias的%1表示子域名第一部分,实现动态目录);d.注意:1.泛域名SSL证书要用通配符证书*.example.com(普通单域名证书不覆盖所有子域名,通配符证书覆盖所有一级子域名,Let's Encrypt免费通配符需要DNS验证);2.服务器要能处理任意子域名(程序里根据子域名判断租户/用户,或动态root);3.安全风险(泛解析所有子域名都指向服务器,可能被滥用(攻击者用随机子域名做恶意站/SEO垃圾/钓鱼,都指向你的服务器IP,可能导致服务器IP被墙/被举报/SEO降权),建议:服务器端对未知子域名返回404/410或跳转主域名(不要所有子域名都返回正常内容),只允许已注册/已配置的子域名正常访问(程序里白名单),监控异常子域名访问/流量);4.已单独配置的子域名优先级高于泛解析(如blog.example.com单独配了A记录,用单独的,不用泛解析);5.根域名@要单独配(泛解析*不包含根域名example.com,@要单独A记录)。4.虚拟主机/共享主机绑定域名——场景:用虚拟主机(共享主机/云虚拟主机,如阿里云虚拟主机/西部数码/HostGator),没有服务器root权限,通过控制面板绑定域名。a.通用流程:1.域名DNS解析到虚拟主机提供的IP(或CNAME到虚拟主机地址,虚拟主机商给的IP/别名);2.登录虚拟主机控制面板(cPanel/Plesk/宝塔主机/云虚拟主机控制台);3.找到域名管理/绑定域名/附加域名(Addon Domain/Parked Domain);4.输入要绑定的域名(主域名/附加域名/停放域名),指定网站根目录(主域名一般是public_html,附加域名可以指定子目录public_html/blog);5.提交,等待生效(虚拟主机商自动配置Web服务器);6.测试访问;7.SSL(cPanel→SSL/TLS→Let's Encrypt SSL一键申请,或上传证书,开启强制HTTPS);b.cPanel具体:cPanel→Domains→Addon Domains(附加域名,独立站点)→New Domain Name填域名→Subdomain/FTP Username自动→Document Root自动(可改子目录)→Add Domain;Parked Domains(停放域名,指向主域名同一站点,类似别名);c.阿里云虚拟主机:控制台→主机→域名管理→绑定域名→输入域名→绑定(域名要先备案),解析到主机IP;d.注意:1.虚拟主机域名数量有限制(基础版可能只能绑1-3个,升级套餐增加);2.国内虚拟主机域名要备案(未备案不能绑定/访问被拦截);3.附加域名根目录(可以指定子目录,实现子域名/多站点);4.伪静态(虚拟主机.htaccess(Apache)或web.config(IIS),Nginx虚拟主机一般面板有伪静态设置);5.数据库(虚拟主机数据库数量/容量有限制,多站点可能需要多个数据库或表前缀)。5.Docker容器绑定域名——场景:网站运行在Docker容器里,域名绑定到容器。a.方法一(端口映射+Nginx反向代理,推荐):1.Docker容器运行,端口映射如-p 8080:80(容器80映射到主机8080);2.主机安装Nginx,配置反向代理:server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }(Nginx监听80/443,转发到容器端口,域名绑在Nginx上,SSL也在Nginx配置,容器不用管域名/SSL);3.域名A记录指向主机IP;b.方法二(Nginx Proxy Manager/Traefik反向代理容器,自动化):1.用Nginx Proxy Manager(Docker镜像jc21/nginx-proxy-manager)或Traefik做反向代理容器,自动管理域名+SSL(Let's Encrypt自动签续);2.网站容器加入同一网络,配置labels(Traefik)或NPM后台添加代理域名→容器;3.域名解析到反向代理主机IP,自动配置虚拟主机+SSL;c.方法三(容器直接绑80端口):docker run -p 80:80 -p 443:443 容器,容器里的Nginx/Apache配置server_name域名+SSL,域名A记录指向主机IP(简单但容器要自己管SSL,且80端口只能一个容器用,多容器需要反向代理);d.注意:1.推荐反向代理方式(Nginx/NPM/Traefik管域名+SSL,容器只跑应用,多容器共用80/443,SSL自动管理);2.反向代理要传正确的Host/X-Real-IP/X-Forwarded-Proto头(否则程序获取不到真实IP/域名,HTTPS判断错误,导致跳转/图片URL问题);3.容器网络(反向代理容器和应用容器要在同一Docker网络,用容器名/服务名通信,不要用127.0.0.1(容器内127.0.0.1是容器自己));4.持久化(网站文件/数据库用volume挂载,容器重建不丢数据)。6.域名绑定常见问题排查——a.域名解析正常但网站打不开/显示默认页:1.检查Web服务器server_name是否绑定了该域名(nginx -T看所有server_name,有没有该域名,没有的话会用默认server(第一个或default_server),显示默认页/其他站);2.检查域名有没有绑错server(多个站点时,域名绑到了错误的server块,显示其他网站);3.检查配置是否重载(改了配置没nginx -s reload,不生效);4.检查DNS解析到正确IP(nslookup,可能解析到旧IP/其他服务器);5.检查CDN(用了CDN的话,CDN回源配置/缓存,CDN节点可能显示默认页);6.检查hosts(本地hosts绑定了错误IP,导致自己访问错,其他人正常)。b.域名绑定后403 Forbidden:1.网站目录没有index文件(root目录下没有index.html/index.php,Nginx/Apache找不到默认文档,且禁止目录列表,返回403);2.目录权限不对(网站目录/文件Web用户没有读权限,属主不对,权限755目录644文件,属主www-data/nginx);3.Nginx root路径错(root指向不存在/无权限目录);4.SELinux(CentOS SELinux限制,setenforce 0测试或配置SELinux上下文);5.目录索引被禁且无index(autoindex off,正常,加index文件)。c.域名绑定后500 Internal Server Error:1.程序错误(PHP代码错/数据库连不上/配置错,看程序错误日志/Nginx error_log);2.文件权限(PHP文件/目录权限不对,PHP-FPM用户无法读/写);3.伪静态规则错(rewrite规则导致死循环/500);4.PHP-FPM没运行/端口错(fastcgi_pass指向错误,502/500);5.数据库配置错(程序连不上数据库,报错500);6.序列化数据错误(换域名时全局替换数据库搞坏序列化,反序列化失败500/白屏,见上文注意事项,用程序自带替换工具或修复序列化)。d.域名绑定后HTTPS证书错误:1.证书域名不匹配(证书Common Name/SAN不包含当前域名,如只签了www没签@,或用了其他域名证书,报NET::ERR_CERT_COMMON_NAME_INVALID);2.证书过期(证书有效期过了,续签);3.证书链不完整(Nginx只配了证书没配中间证书,用fullchain.pem,部分浏览器报不安全);4.配置错(ssl_certificate/ssl_certificate_key路径错,或443 server块没配ssl);5.旧域名301的HTTPS没证书(访问https://旧域名报证书错误,旧域名也要配证书)。e.域名绑定后部分地区/运营商打不开:1.域名未备案(国内服务器,未备案域名被运营商/服务器商拦截,部分地区严格,备案);2.域名被墙/被运营商劫持(国内打不开国外正常,或某运营商跳转,见被墙/劫持专题);3.解析未生效(部分地区DNS缓存旧IP,等生效/清缓存);4.CDN节点故障(某地区CDN节点挂了,联系CDN商/切换);5.服务器IP被某运营商封(IP被某运营商屏蔽,换IP/CDN)。f.绑定域名后图片/链接还是旧域名/破图:1.程序配置没改(config里site_url还是旧域名,生成的图片/链接用旧域名,改配置);2.数据库没替换(文章内容/附件URL还是旧域名,批量替换数据库,见上文);3.缓存没清(程序缓存/CDN缓存了旧域名内容,清缓存/刷新CDN);4.CDN回源域名(CDN回源用旧域名,回源Host错,改CDN回源Host为新域名);5.浏览器缓存(清浏览器缓存/强制刷新Ctrl+F5)。g.绑定域名后301死循环:1.配置冲突(80→443跳转+程序内又跳HTTP,或CDN回源HTTP+程序判断HTTPS错误导致循环,检查X-Forwarded-Proto头,程序要信任代理头);2.新旧域名互跳(旧域名301到新域名,新域名又301到旧域名,检查配置逻辑);3.www和不带www互跳(两个都跳对方,配置错,规范一个方向);4.CDN缓存了错误跳转(CDN缓存了301,刷新CDN缓存)。域名绑定/更换问题大多是配置遗漏(server_name/root/权限/解析/备案/SSL/程序配置/数据库),按检查清单逐项排查,90%能快速定位,不要瞎改(改一个测试一个,保留备份)。

域名更换完整流程、程序数据库替换、301跳转、SEO保留、邮箱备案友链用户通知。1.域名更换完整流程——换域名是系统工程,按以下流程无缝迁移减少停机和SEO损失:a.准备阶段:1.新域名注册+实名认证(国内域名要实名,.cn等);2.新域名备案(国内服务器需要,提前备案1-3周,备案期间可用旧域名+海外临时,或新域名先解析到海外测试);3.新域名DNS解析到服务器(A记录@和www指向服务器IP,或CDN);4.新域名在Web服务器绑定(server_name加新域名,和旧域名同时绑定,过渡期两个域名都能访问);5.新域名SSL证书申请(HTTPS);6.新域名邮箱配置(如果换邮箱域名,MX记录+企业邮箱迁移);7.备份(旧域名网站文件+数据库全量备份,出问题能回滚);8.列出所有需要改域名的地方(程序配置/数据库/代码/CDN/邮箱/第三方服务/友链/用户通知,做清单避免遗漏)。b.切换阶段:1.程序内旧域名替换新域名(配置文件/数据库/代码里的旧域名全部替换为新域名,见下文详细方法);2.旧域名301重定向到新域名(Nginx/Apache配置,所有旧域名URL 301跳转到新域名对应URL,保留SEO权重,见下文);3.搜索引擎站长平台提交改版规则(百度搜索资源平台→网站改版→规则改版,提交旧域名到新域名的对应规则;Google Search Console→设置→地址变更,提交新域名;Bing/360类似),让搜索引擎知道域名更换,加快索引转移;4.新域名提交sitemap(新域名站长平台提交sitemap,让搜索引擎抓取新域名页面);5.CDN/云服务切换(新域名接入CDN,旧域名CDN配置301或回源到新域名);6.邮箱切换(新域名邮箱启用,旧域名邮箱设置转发/自动回复通知新邮箱,逐步迁移);7.第三方服务更新(支付(微信/支付宝/银联)的授权域名/回调域名、统计代码(百度统计/Google Analytics)、分享代码、广告联盟、API回调域名、OAuth登录(微信/QQ/微博)的授权域名、CDN/OSS/云存储的自定义域名、SSL证书,全部更新为新域名,否则支付/登录/统计会失效);8.友链/外链处理(通知友情链接站长更新链接到新域名,自己网站的友链如果是旧域名也要更新,外链无法主动改但301会传递权重);9.用户通知(网站公告/邮件/短信/APP推送通知用户域名更换,旧域名会自动跳转但提醒用户更新书签/收藏,品牌过渡)。c.验证阶段:1.解析验证(nslookup新旧域名,确认解析正确);2.访问验证(新域名各页面正常访问,旧域名301跳转到新域名对应页面(不是只跳首页,要对应URL跳转));3.HTTPS验证(新域名证书有效,小锁正常);4.程序功能验证(登录/注册/支付/上传/搜索/API等核心功能正常,回调域名已更新);5.邮箱验证(新域名邮箱收发正常,旧域名转发正常);6.SEO验证(站长平台抓取诊断,新域名被抓取,旧域名301被识别,索引量转移,排名逐步恢复);7.监控(新域名可用性监控+旧域名跳转监控+错误日志监控,发现问题及时处理);8.404/错误检查(新域名有没有404/500,旧域名跳转有没有死链)。d.过渡维护:1.旧域名保留301至少6-12个月(SEO权重完全转移需要时间,不要很快注销旧域名/关301,建议保留1年以上,重要网站长期保留);2.旧域名续费(不要让旧域名过期,过期后301失效+可能被别人注册做恶意站,至少续费1-2年);3.定期检查(301是否正常/新域名收录/排名/旧域名状态,持续几个月);4.外链建设(新域名适当做高质量外链,加快权重恢复);5.用户持续引导(公告保留一段时间,提醒用户更新书签)。域名更换核心:提前准备(备案/解析/绑定/备份/清单)→程序内全替换(配置/数据库/代码)→301对应跳转(旧URL→新URL,不是只跳首页)→搜索引擎改版提交→第三方服务全更新→验证监控→旧域名长期保留301,任何一步遗漏都会导致功能失效/SEO损失/用户流失。2.程序内旧域名替换(配置/数据库/代码)——换域名后,程序里很多地方写死了旧域名,不替换会导致图片/链接/跳转/API/支付回调还是旧域名(可能失效或跳回旧域名),要全面替换:a.配置文件:1.网站程序配置(config.php/.env/application.ini等,里面的site_url/base_url/domain/web_url参数,旧域名换新域名);2.框架配置(ThinkPHP config.php的url_domain_root,Laravel .env的APP_URL,WordPress wp-config.php的WP_HOME/WP_SITEURL,Dedecms config_basehost,PbootCMS config.php的domain,帝国CMS config.php的域名);3.CDN/OSS/云存储配置(自定义域名/资源域名,旧域名换新域名);4.邮件配置(发件人域名/邮箱地址,旧域名邮箱换新域名邮箱);5.第三方API配置(支付/登录/统计的回调域名,在第三方平台后台改,不是只改程序配置);6.缓存配置(Redis/Memcached里的域名相关缓存,清缓存)。b.数据库替换:数据库里很多表存了旧域名(文章内容里的图片链接/内链、用户头像URL、设置表的站点URL、导航链接、友情链接、附件路径、评论内容、SEO设置),要批量替换:1.备份数据库(替换前全量备份,替换错了能回滚,mysqldump或phpMyAdmin导出);2.方法一:SQL命令批量替换(UPDATE 表名 SET 字段名 = REPLACE(字段名, '旧域名', '新域名');,对每个可能含域名的表/字段执行,如文章内容表content、附件表path、设置表value、友链表url、导航表url,注意:只替换明确是URL的字段,不要替换可能含域名但不是URL的字段(如用户名/内容里偶然出现的旧域名文本,根据需要决定),替换前先SELECT测试(SELECT * FROM 表 WHERE 字段 LIKE '%旧域名%',看有多少条/内容是什么,确认无误再UPDATE);3.方法二:phpMyAdmin/数据库管理工具的查找替换功能(选择表→搜索→替换,输入旧域名/新域名,选择字段,执行);4.方法三:命令行sed替换SQL文件(导出数据库为.sql文件,sed -i 's/旧域名/新域名/g' database.sql,再导入,注意:全局替换会替换所有出现的旧域名包括非URL内容,确认可接受再用,且注意旧域名和新域名长度不同可能导致序列化数据问题(PHP序列化数据里的长度字段会错,导致程序报错,见下文注意事项);5.方法四:程序自带替换工具(部分CMS有域名替换功能,如WordPress的Better Search Replace插件,Dedecms后台替换,帝国CMS后台替换,PbootCMS后台配置,用程序自带工具更安全(会处理序列化));6.序列化数据注意:PHP序列化数据(a:1:{s:4:"test";s:11:"example.com";})里字符串长度是写死的(s:11表示11字符),直接替换域名(长度变了)会导致长度不匹配,反序列化失败,程序报错/白屏,所以:优先用程序自带替换工具(会重新计算序列化长度),或替换后测试序列化字段是否正常,或用专门处理序列化的替换脚本(PHP脚本unserialize→替换→serialize写回),WordPress用Better Search Replace插件(处理序列化),不要盲目全局sed替换数据库(容易搞坏序列化数据导致网站打不开);7.替换后验证:访问网站各页面,看图片/链接/跳转是否都是新域名,有没有破图/404/跳回旧域名,看程序错误日志有没有序列化错误/数据库错误。c.代码/模板替换:1.模板文件里写死的旧域名(footer/header/sidebar模板里的链接/图片/统计代码,grep -r "旧域名" /网站目录 查找所有文件,批量替换sed -i 's/旧域名/新域名/g' 模板文件,或编辑器全局替换);2.静态资源(CSS/JS里的旧域名URL,如背景图/API地址,替换);3.自定义代码/插件(自己写的代码/插件里的旧域名,替换);4.robots.txt/sitemap.xml(里面的旧域名URL,更新为新域名,sitemap重新生成);5.注意:代码里的旧域名如果是用于判断(如判断是否旧域名然后301),要保留或修改逻辑,不要全替换导致301逻辑失效。d.第三方平台后台修改:程序配置改了不够,第三方平台后台的授权/回调域名也要改:1.支付平台(微信支付/支付宝/银联:商户平台→产品中心→开发配置,授权域名/支付回调域名/JSAPI安全域名,改为新域名,否则支付失败);2.开放平台登录(微信开放平台/QQ互联/微博开放平台:应用→网站应用,授权回调域改为新域名,否则登录失败);3.统计平台(百度统计/Google Analytics:账户→网站列表,添加新域名站点,旧域名数据保留,代码里的域名ID可能不变但要确认);4.广告联盟(百度联盟/Google AdSense/淘宝联盟:网站管理,添加新域名审核,旧域名保留,广告代码域名绑定);5.CDN/云存储(阿里云OSS/腾讯云COS/七牛:自定义域名/回源域名,添加新域名,旧域名可保留301);6.SSL证书(新域名申请证书,旧域名证书保留用于301跳转的HTTPS);7.短信/邮件服务(发件域名/SPF/DKIM,新域名配置);8.站长平台(百度/Google/Bing/360,添加新域名站点+验证,提交改版规则);9.其他API(地图/分享/客服/评论系统,授权域名改为新域名)。e.替换检查清单:替换完后,用grep -r "旧域名" /网站目录 查代码文件还有没有旧域名(除了301跳转逻辑/旧域名判断),数据库用SELECT查各表还有没有旧域名(SELECT * FROM 表 WHERE 字段 LIKE '%旧域名%'),第三方平台逐个确认,浏览器访问网站看源代码/网络请求还有没有旧域名请求(破图/404),确保没有遗漏。3.301重定向配置(旧域名→新域名,保留SEO权重)——301是永久重定向,告诉搜索引擎和浏览器旧域名永久搬到新域名,SEO权重(PR/权重/排名)会传递到新域名,是域名更换SEO保留的核心,必须配置对应URL跳转(旧域名/article/123.html→新域名/article/123.html,不是只跳首页,只跳首页会丢失内页权重和用户体验)。a.Nginx配置:1.旧域名单独server块(推荐,清晰):server { listen 80; listen 443 ssl; server_name 旧域名 www.旧域名; ssl_certificate /path/to/旧域名证书.pem; ssl_certificate_key /path/to/旧域名密钥.key; return 301 https://新域名$request_uri; } ($request_uri保留完整路径和查询参数,实现对应URL跳转,旧域名HTTPS也要配证书(否则https旧域名访问报证书错误,虽然301但用户先看到证书错误),所以旧域名也要有有效SSL证书(Let's Encrypt可以签多个域名));2.同一server块判断:server { listen 80; listen 443 ssl; server_name 旧域名 www.旧域名 新域名 www.新域名; ssl_certificate ...; if ($host ~* ^(www.)?旧域名$) { return 301 https://新域名$request_uri; } ...其他配置... } (不推荐if,Nginx if有坑,推荐单独server块);3.验证:curl -I http://旧域名/article/123.html,看响应头HTTP/1.1 301 Moved Permanently,Location: https://新域名/article/123.html(对应URL,不是首页);4.注意:301跳转会被浏览器缓存(永久缓存),测试时用curl或浏览器无痕模式,不要用普通浏览器(缓存了旧跳转可能看不到更新),如果跳转规则改错了,用户浏览器可能缓存错误跳转很久,所以配置前测试好。b.Apache配置:1.虚拟主机配置或.htaccess:RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?旧域名$ [NC] RewriteRule ^(.*)$ https://新域名/$1 [R=301,L] (.htaccess放在旧域名网站根目录,或虚拟主机配置里,R=301永久重定向,L停止后续规则);2.旧域名虚拟主机单独配置: ServerName 旧域名 ServerAlias www.旧域名 Redirect 301 / https://新域名/ (Redirect 301 / 会把所有路径跳转到新域名对应路径,Apache Redirect自动保留路径);3.HTTPS旧域名也要配证书+跳转。c.IIS配置:1.IIS管理器→旧域名网站→HTTP重定向→勾选将请求重定向到此目标→填https://新域名$S$Q($S保留路径,$Q保留查询字符串)→状态代码选永久(301)→应用;2.或用URL Rewrite模块(安装URL Rewrite)→添加规则→空白规则→匹配URL(.*)→条件({HTTP_HOST}匹配旧域名)→操作(重定向到https://新域名/{R:1},永久301)。d.宝塔面板:1.宝塔→旧域名站点设置→重定向→添加重定向→类型选域名→重定向到新域名→保留参数(对应URL)→状态码301→提交(自动配置Nginx/Apache 301);2.或在站点配置文件里手写return 301。e.CDN层面301:如果旧域名用了CDN,在CDN后台配置回源301或边缘301(CDN控制台→域名管理→旧域名→回源配置/URL重写→301跳转到新域名,保留路径),或CDN回源到旧源站(源站配301),CDN会缓存301。f.301注意事项:1.必须对应URL跳转(用$request_uri/$1/$S$Q保留路径,不要只跳首页,否则内页权重不传递+用户点旧链接到首页体验差);2.旧域名HTTPS也要配证书(用户可能访问https://旧域名,没有证书会报安全错误,虽然301但用户先看到错误,所以旧域名也要有效SSL证书,Let's Encrypt可以同时签旧+新域名);3.301是永久缓存(浏览器/CDN/搜索引擎都会缓存,配置错了很难立即生效,所以先测试好再上线,用curl -I测试,不要用普通浏览器测试(缓存));4.保留301至少6-12个月(SEO权重完全转移需要时间,不要很快关301/注销旧域名,建议长期保留旧域名301,至少1年);5.旧域名不要过期(过期后301失效+可能被别人注册做恶意站/钓鱼,至少续费1-2年,重要域名长期保留);6.不要用302临时跳转(302不传递SEO权重,域名更换必须301永久);7.不要用meta refresh/JS跳转(SEO权重不传递+用户体验差,必须服务器端301);8.多个旧域名都要301(如果有多个旧域名/带www不带www,都要301到新域名规范URL)。4.SEO保留与搜索引擎提交——域名更换SEO权重转移需要时间(几周到几个月),正确操作能加快恢复减少损失:a.301对应跳转(核心,见上文,旧URL→新URL,权重传递);b.站长平台改版提交:1.百度搜索资源平台:登录→用户中心→站点管理(添加新域名站点+验证(文件/CNAME/HTML标签))→网站改版→规则改版→添加改版规则(旧域名正则→新域名对应,如旧域名/(.*)→新域名/$1,验证规则生效,百度会按规则转移索引和排名,一般1-4周逐步转移)→抓取诊断(新域名抓取测试,确认能正常抓取)→提交sitemap(新域名sitemap,加快抓取收录)→死链提交(如果有URL结构变化,旧域名死链提交);2.Google Search Console:登录→添加资源(新域名,域名验证或URL前缀验证)→设置→地址变更(旧域名资源→设置→地址变更→选择新域名资源→提交,Google会通知地址变更,加快索引转移)→sitemap提交(新域名sitemap)→URL检查(新域名页面测试抓取)→移除旧域名不需要的URL(如果有);3.Bing Webmaster Tools:添加新域名站点→提交sitemap→Site Move(旧域名到新域名移动通知);4.360站长平台/搜狗站长平台:类似,添加新域名+提交sitemap+改版通知。c.新域名SEO基础:1.新域名robots.txt(允许抓取,Sitemap指向新域名sitemap);2.新域名sitemap.xml(生成新域名所有URL的sitemap,提交站长平台);3.新域名页面内部链接(都是新域名绝对URL或相对URL,不要还有旧域名链接);4.新域名TDK(标题/描述/关键词和旧域名一致或优化,保持内容相关性);5.内容不变(域名更换期间不要同时大改内容/结构,否则搜索引擎难以判断是同一网站,权重转移慢,先保持内容和URL结构一致,稳定后再优化);6.URL结构尽量不变(新域名URL路径和旧域名一样(/article/123.html),301对应跳转,权重传递最好,如果URL结构也要变,先换域名保持URL,稳定后再改URL(两次301),不要同时换域名+改URL(权重损失大))。d.外链与友链:1.友情链接:通知所有友链站长更新链接到新域名(提供新域名链接代码,礼貌请求更新,大部分站长会配合),自己网站的友链如果指向旧域名也要更新;2.外链:外部其他网站的旧域名链接无法主动改,但301会传递权重到新域名,所以301很重要,适当给新域名做一些高质量外链(相关网站/平台/社交),加快新域名权重建立;3.不要买垃圾外链(会被惩罚,新域名更敏感);4.监控外链(用外链工具查旧域名外链,看301是否正常传递)。e.SEO恢复时间与监控:1.恢复时间:域名更换后排名/流量会有短期下降(正常,搜索引擎需要时间识别301+转移权重),一般2-8周逐步恢复,3-6个月完全恢复,被劫持/降权过的可能更久,要有耐心;2.监控指标:新域名索引量(站长平台)、排名(核心关键词排名)、流量(百度统计/GA)、抓取频次(站长平台抓取诊断)、旧域名301状态(curl测试)、错误率(404/500);3.如果2-3个月还没恢复,检查:301是否对应URL跳转(不是只跳首页)、站长平台改版规则是否提交且生效、新域名是否能正常抓取(robots/服务器/CDN有没有挡蜘蛛)、内容/URL结构是否一致、有没有被惩罚(新域名有没有违规内容/垃圾外链)、旧域名301是否还在(有没有关/过期);4.不要频繁改301/改版规则(搜索引擎会混乱,定好就保持)。5.邮箱/备案/CDN/SSL/用户通知——a.邮箱迁移:如果换域名也要换邮箱(@旧域名→@新域名):1.新域名邮箱开通(企业邮箱/自建邮箱,MX记录指向新邮件服务器,SPF/DKIM/DMARC配置);2.旧邮件迁移(邮件内容从旧邮箱导出/导入到新邮箱,或企业邮箱后台域名迁移工具,通讯录/日历/联系人也迁移);3.过渡期:旧邮箱设置自动转发到新邮箱(旧邮箱收到的邮件自动转发到新邮箱,避免漏邮件)+自动回复(发件人收到自动回复告知邮箱已更换为新邮箱);4.通知联系人(邮件/通讯录/名片/网站/签名更新邮箱地址,重要客户单独通知);5.旧邮箱保留至少3-6个月(转发+自动回复,之后可以关闭,重要邮箱长期保留);6.如果不换邮箱(邮箱用其他域名/第三方),只换网站域名,邮箱不用动,但网站上的联系邮箱/发件邮箱如果是旧域名要更新。b.备案处理:国内服务器新域名需要ICP备案:1.新域名备案(在服务器商(阿里云/腾讯云)提交备案,个人/企业备案,提供身份证/营业执照/照片,1-3周审核,备案期间新域名不能解析到国内服务器(可以先解析到海外/香港临时,或等备案下来再切换);2.如果旧域名已有备案,新域名可以新增备案(同一主体下添加新域名,比首次备案快);3.接入备案(如果换服务器商,新域名在新服务器商做接入备案);4.备案号(新域名备案下来后,网站底部要展示新域名备案号+链接到工信部);5.旧域名备案可以保留(旧域名301用国内服务器的话旧域名也要有备案/接入,否则旧域名解析到国内服务器会被拦截,所以旧域名如果用国内服务器做301也要确保备案有效,或旧域名301用海外/香港服务器(不需要备案));6.公安备案(新域名也要做公安备案,全国互联网安全管理服务平台)。c.CDN/SSL:1.新域名接入CDN(CDN控制台添加新域名,CNAME解析,回源到服务器,配置HTTPS证书,缓存规则);2.旧域名CDN配置301(旧域名CDN回源301或边缘301到新域名,保留路径,旧域名CDN保留至少6-12个月);3.新域名SSL证书(申请并配置HTTPS,强制HTTPS,HSTS);4.旧域名SSL证书(旧域名301的HTTPS也需要证书,否则https旧域名报证书错误,保留旧域名证书,Let's Encrypt可同时签新旧域名);5.CDN回源IP白名单(服务器防火墙只允许CDN回源IP,隐藏源站)。d.用户通知与品牌过渡:1.网站公告(新域名上线时在网站显著位置(顶部横幅/弹窗/公告页)通知:网站域名已更换为新域名,旧域名将自动跳转,请更新书签/收藏,过渡期多久,新域名优势(更短/更好记/品牌升级),公告保留1-3个月);2.邮件/短信通知(注册用户发邮件/短信通知域名更换,提供新域名链接,提醒更新账户信息里的旧域名链接);3.APP/客户端更新(如果有APP/小程序/客户端,更新API域名为新域名,发版强制更新或兼容新旧域名一段时间);4.社交媒体/宣传更新(微博/微信公众号/知乎/百家号/名片/宣传材料/广告的域名更新为新域名);5.客服话术更新(客服告知用户新域名,处理用户关于旧域名的咨询);6.品牌过渡(如果是品牌升级换域名,配合品牌宣传(新Logo/新Slogan/发布会/文章),让用户接受新域名,减少 confusion);7.旧域名自动跳转(用户访问旧域名自动301到新域名,大部分用户无感知,所以即使没看到通知也能正常访问,但通知能让用户更新书签+记住新域名);8.不要突然切断旧域名(至少保留301 6-12个月,给用户和搜索引擎时间过渡,突然关旧域名会导致大量用户找不到网站+SEO损失)。e.监控与验证清单:1.解析(新旧域名nslookup/ping,确认IP正确);2.访问(新域名各页面正常,旧域名301到对应新URL,curl -I测试);3.HTTPS(新域名证书有效,旧域名HTTPS证书有效(301用));4.功能(登录/注册/支付/上传/搜索/API/邮件,核心功能正常,回调域名已更新);5.数据库(旧域名已替换,没有破图/旧链接/跳回旧域名,序列化数据正常);6.SEO(站长平台新域名验证+改版规则提交+sitemap提交,抓取正常,索引量/排名监控);7.邮箱(新域名收发正常,旧域名转发/自动回复正常);8.CDN(新域名CDN正常,旧域名CDN 301正常);9.备案(新域名备案通过,底部备案号正确);10.错误日志(Nginx/Apache/程序错误日志,没有404/500/序列化错误/数据库错误);11.监控告警(新域名可用性+旧域名301状态+错误率+服务器资源,异常告警);12.用户反馈(关注用户反馈/客服工单,有没有访问问题/功能异常,及时处理)。域名更换是高风险操作,提前准备+按流程+全面检查+长期过渡,能把停机和SEO损失降到最低,不要急着切换(备案/解析/绑定/备份/清单没做好就切,容易出问题),也不要切完就不管(301/SEO/邮箱/用户通知需要长期维护)。

站长反馈:「换域名最容易漏的是第三方回调域名,支付/微信登录的授权域名没改,上线后支付失败/登录失败,列个清单逐个改很重要」「数据库替换旧域名用了全局sed,结果WordPress序列化数据搞坏了网站白屏,后来用Better Search Replace插件重新替换才好,序列化数据一定要用专门工具,不要盲目全局替换」。

经验总结:域名绑定和更换是站长/运维的基本功,也是高风险操作(换不好网站打不开/SEO损失/用户流失/功能失效),核心经验:1.域名绑定四要素缺一不可——DNS解析(A/CNAME到服务器IP/CDN)+Web服务器server_name绑定(Nginx/Apache/IIS/宝塔)+防火墙/安全组开80/443+网站目录root正确+文件权限,任何一个错都会导致域名打不开/显示默认页/403/500,绑定后用nslookup确认解析+curl确认访问+浏览器确认页面,不要只在浏览器看(可能缓存/hosts),新绑定域名解析生效需要几分钟到几小时(TTL+运营商缓存),耐心等+清缓存测试;2.域名更换是系统工程不是改个解析——换域名涉及:DNS(新域名解析+旧域名301)、Web(新域名绑定+旧域名301配置+SSL)、程序(配置文件site_url/base_url/domain)、数据库(文章内容/附件/设置/友链/导航里的旧域名批量替换,注意序列化)、代码模板(footer/header/CSS/JS里的旧域名)、第三方平台(支付/登录/统计/CDN/OSS/广告/API回调域名,在第三方后台改)、搜索引擎(新域名验证+改版规则提交+sitemap)、邮箱(MX+迁移+转发+自动回复)、CDN(新域名接入+旧域名301)、备案(新域名ICP+公安备案)、SSL(新旧域名证书)、友链(通知更新+自己更新)、用户通知(公告/邮件/短信/APP)、监控(可用性/301/SEO/错误)、旧域名长期保留(301+续费),任何一个环节遗漏都会出问题(支付失败/登录失败/破图/SEO不恢复/漏邮件/用户流失),一定要做迁移清单,逐项打勾,不要凭记忆/想当然;3.数据库替换是最容易搞坏的环节——换域名后数据库里大量旧域名(文章图片/内链/附件URL/设置/友链/导航),必须替换,但PHP序列化数据(WordPress选项/小工具/字段,各CMS配置)里字符串长度是写死的(s:11:"example.com",s:11表示11字符),直接全局替换域名(长度从11变13)会导致长度不匹配,反序列化失败,网站白屏/500/功能异常/数据丢失,这是新手最常犯的错(图省事用sed全局替换数据库SQL文件),正确做法:备份数据库→用程序自带替换工具(WordPress Better Search Replace插件、各CMS后台域名替换功能,会重新计算序列化长度)→或专门PHP脚本(unserialize→替换→serialize写回)→或只替换明确是URL且非序列化的字段(先SELECT看内容,确认无序列化再UPDATE)→替换后全面测试(网站页面/后台/功能/错误日志,有没有序列化错误/白屏/500),不要盲目全局sed,搞坏了恢复备份重来(所以备份很重要);4.301对应URL跳转是SEO保留的核心——域名更换SEO权重传递靠301永久重定向,必须是旧URL→新URL对应跳转(旧域名/article/123.html→新域名/article/123.html),用$request_uri(Nginx)/$1(Apache)保留完整路径和查询参数,不要只跳首页(return 301 https://新域名/; 会导致旧内页都跳首页,用户找不到内容+内页权重不传递+SEO恢复慢),301配置后用curl -I http://旧域名/具体路径测试Location头是否是对应新URL,301是永久缓存(浏览器/CDN/搜索引擎),所以先测试好再上线(用curl/无痕浏览器,不要用普通浏览器测试(缓存了旧跳转)),旧域名HTTPS也要配证书(https旧域名访问不报证书错误),301至少保留6-12个月(SEO权重完全转移需要时间,不要很快关),不要用302临时跳转(不传递权重)/meta refresh/JS跳转(不传递权重+体验差),必须服务器端301;5.搜索引擎改版提交加快SEO恢复——301是基础,但主动提交搜索引擎改版规则能加快索引转移和排名恢复:百度搜索资源平台(新域名验证→网站改版→规则改版,提交旧域名正则→新域名对应,如旧/(.*)→新/$1,验证生效,百度会按规则转移索引,一般1-4周逐步转移,比只靠301快)、Google Search Console(旧域名资源→设置→地址变更→选择新域名资源→提交,Google通知地址变更)、Bing(Site Move)、360/搜狗类似,同时新域名提交sitemap(加快抓取收录)、抓取诊断(确认新域名能正常抓取,robots/服务器/CDN没挡蜘蛛),SEO恢复需要时间(2-8周逐步,3-6个月完全,被惩罚过的更久),要有耐心,监控索引量/排名/流量,2-3个月没恢复检查301是否对应跳转/改版规则是否生效/抓取是否正常/内容URL是否一致/有没有被惩罚,不要频繁改规则/作弊;6.第三方回调域名是最容易遗漏的——程序配置/数据库/代码里的旧域名容易想到,但第三方平台后台配置的授权/回调域名最容易遗漏(因为不在自己服务器上,要登录各个平台改):支付(微信支付商户平台→开发配置→授权域名/JSAPI安全域名/支付回调,支付宝商户平台→产品中心→开发配置,银联)、开放平台登录(微信开放平台/QQ互联/微博开放平台→网站应用→授权回调域)、统计(百度统计/Google Analytics→站点管理,添加新域名,代码ID可能不变但确认)、广告联盟(百度联盟/Google AdSense/淘宝联盟→网站管理,添加新域名审核)、CDN/云存储(阿里云OSS/腾讯云COS/七牛→自定义域名/回源域名,添加新域名,旧域名301)、API服务(短信/邮件/地图/分享/客服/评论→授权域名/回调URL)、SSL证书(新域名申请)、站长平台(百度/Google/Bing/360→添加新域名+验证+改版),这些遗漏会导致支付失败/登录失败/统计丢失/CDN回源错/API报错,上线前一定要列清单逐个平台登录检查+修改+测试,不要只改自己服务器上的配置;7.提前准备+低峰切换+回滚方案——域名更换不要急(备案/解析/绑定/SSL/邮箱/CDN/清单没做好就切,容易出问题),提前1-3周准备(新域名注册+实名+备案+解析+绑定+SSL+邮箱+CDN,全量备份,迁移清单,测试环境预演),切换选网站流量低峰期(凌晨/周末,减少对用户影响),切换前确认备份完整+回滚方案(出问题能快速切回旧域名/恢复备份,不要在生产环境边出错边修),切换步骤:程序配置替换→数据库替换→301配置→第三方回调更新→站长平台改版提交→邮箱/CDN切换,1-2小时完成,切换后立即全面测试(访问/功能/支付/登录/邮件/SEO/错误日志),发现严重问题立即回滚,小问题在线修,不要拖到高峰期才发现问题;8.旧域名长期保留+续费不注销——域名更换后旧域名不是没用了,要长期保留:301跳转(传递SEO权重,至少6-12个月,重要网站长期)、用户过渡(用户书签/收藏/记忆里还是旧域名,自动跳转到新域名,减少流失,至少1年)、品牌保护(旧域名如果过期被别人注册,可能做恶意站/钓鱼/敲诈/竞品,对你品牌/用户/SEO都有风险,重要品牌域名长期持有续费)、邮箱过渡(旧域名邮箱转发/自动回复,至少3-6个月),旧域名要续费(不要让过期,至少续费1-2年,重要域名长期),旧域名服务器/301要保持运行(不要很快关),旧域名备案如果用国内服务器要保持有效(或旧域名301用海外服务器),不要换了新域名就把旧域名扔了(很多站长换域名3个月就注销旧域名,结果SEO权重还没转移完+用户找不到+旧域名被抢注做恶意站,后悔莫及);9.用户通知+品牌过渡减少流失——域名更换用户可能困惑(旧域名自动跳转但用户不知道为什么跳/以为网站关了/书签失效),要主动通知:网站显著公告(顶部横幅/弹窗/公告页,说明域名更换+新域名+为什么换(品牌升级/更好记)+旧域名会自动跳转多久+请更新书签/收藏,公告保留1-3个月,不要只放一天)、注册用户邮件/短信通知(提供新域名链接,提醒更新账户信息/书签,重要用户单独通知)、APP/小程序/客户端更新(API域名改为新域名,发版,兼容新旧域名一段时间(防止旧版本APP用户),强制更新或灰度)、社交媒体/宣传更新(微博/微信公众号/知乎/百家号/头像/简介/名片/宣传材料/广告/邮件签名的域名都更新为新域名)、客服话术更新(客服告知用户新域名+处理旧域名咨询)、品牌升级配合(如果是品牌升级换域名,配合新Logo/新Slogan/宣传文章/活动,让用户接受新品牌,减少 confusion),通知要及时(切换时就通知)+明确(新域名是什么+为什么换+用户该做什么)+持续(公告保留一段时间),不要偷偷换不通知(用户以为网站关了/被黑,流失);10.绑定/更换后全面验证+长期监控——切换完成不是结束,要全面验证:解析(nslookup新旧域名确认IP)、访问(新域名各页面正常,旧域名301到对应URL,curl -I测试)、HTTPS(新旧域名证书有效,小锁)、功能(登录/注册/支付/上传/搜索/API/邮件/短信核心功能全测,特别是第三方回调相关的支付/登录)、数据库(grep代码+SELECT数据库查还有没有旧域名,页面有没有破图/旧链接/跳回旧域名)、SEO(站长平台抓取诊断+索引量+提交sitemap+改版规则状态)、邮箱(新域名收发+旧域名转发/自动回复)、CDN(新域名正常+旧域名301)、备案(新域名备案号底部展示)、错误日志(Nginx/Apache/程序错误日志,有没有404/500/序列化错误/数据库错误)、用户反馈(客服工单/评论),验证通过后还要长期监控(至少3-6个月SEO恢复期):新域名可用性(多节点)、旧域名301状态(定期curl测试,防止配置错/证书过期/服务器挂)、SEO指标(索引量/排名/流量/抓取,每周看)、错误率(404/500/死链)、服务器资源(CPU/内存/磁盘/流量)、证书有效期(新旧域名,提前续期)、用户反馈,发现问题及时处理,不要切完就不管(很多站长切换后不监控,过了一个月才发现301配置错了/支付回调没改/SEO没恢复,损失已经造成);11.域名绑定安全加固——绑定域名后服务器层面要加固:隐藏源站IP(用CDN,域名解析到CDN,源站防火墙只允许CDN回源IP,不要用子域名直接A记录到源站IP(ftp/mail/admin.example.com会暴露源站,攻击者绕CDN DDoS/打源站),重要服务用VPN/堡垒机/不公开解析)、禁止IP直接访问(Nginx默认server块return 444/404,避免IP被扫描/滥用/SEO垃圾,攻击者用IP访问你的服务器)、server_name不要catch-all(不要用server_name _;匹配所有域名,避免未知域名指向你的站被滥用,明确指定绑定的域名,默认server返回404)、目录权限最小化(属主Web用户,755目录644文件,上传目录限制PHP执行(Nginx location ~ .php$ { deny all; }在上传目录),不要777全目录)、SSL/TLS加固(TLS1.2+,禁用SSLv3/TLS1.0/1.1,禁用弱加密套件,HSTS强制HTTPS,证书自动续期)、定期检查配置(server_name/域名绑定/301规则,有没有被篡改/陌生域名(被黑可能加恶意域名server块做钓鱼/SEO垃圾),文件完整性监控)、域名解析安全(DNS账号2FA+DNSSEC+解析监控,防止解析被篡改);12.多域名/泛域名注意安全和SEO——多域名绑定同一网站如果不做301,会导致重复内容(多个域名相同内容,搜索引擎认为重复,分散权重/可能降权,建议选一个主域名(如带www或不带www,选一个),其他域名301到主域名(集中权重),除非有特殊需求(地区域名/语言域名/品牌域名),多域名SSL证书要包含所有域名(多域名SAN或通配符),所有域名都要备案(国内服务器),泛域名*.example.com安全风险:所有子域名都指向服务器,可能被滥用(攻击者用随机子域名做恶意站/SEO垃圾/钓鱼,都指向你的IP,导致IP被墙/被举报/SEO降权/资源滥用),泛域名要:服务器端对未知/未注册子域名返回404/410或跳转主域名(不要所有子域名都返回正常内容)、程序白名单(只允许已配置/已注册的子域名正常)、监控异常子域名流量(发现大量随机子域名请求及时处理)、通配符SSL证书(*.example.com只覆盖一级子域名,二级子域名如a.b.example.com不覆盖,需要单独证书或更高级通配符(很少CA支持))、根域名@要单独解析(泛解析*不包含根域名);13.买新域名前查历史/污点——换域名买新域名前,要查新域名有没有历史问题/污点:之前做过什么(用域名历史工具(Wayback Machine/web.archive.org)查历史快照,看之前是正常站还是赌博/色情/钓鱼/垃圾站,有黑历史的域名搜索引擎可能有惩罚/不信任,SEO难恢复)、有没有被墙(国内节点测试,被墙的域名国内打不开,不要买)、有没有被搜索引擎惩罚(site:域名查收录,大量垃圾收录/无收录/被K可能有问题,用百度/Google站长工具查(如果能验证))、有没有法律风险(是否是他人商标/品牌/版权/知名域名近似,可能被仲裁/起诉/域名被拿走,买前查商标(中国商标网/USPTO),不要买和知名品牌太像的域名)、有没有被列入黑名单(垃圾邮件黑名单(Spamhaus/SORBS)/安全黑名单(Google Safe Browsing/百度安全),如果之前被用来发垃圾邮件/恶意软件,IP/域名可能在黑名单,影响邮件/访问,用mxtoolbox/virustotal查)、年龄/权重(老域名有SEO权重(如果历史干净),比新域名好,但要确认历史干净,不要只看年龄),买有问题的域名(被惩罚/被墙/黑历史/侵权)会导致换域名后SEO更差/法律风险,得不偿失,买前花时间查清楚,重要域名可以考虑域名注册前查询服务/律师意见;14.持续学习+工具熟练——域名/DNS/服务器/SEO领域不断更新(新DNS协议(DoH/DoT)、新CDN技术、搜索引擎算法变化、新攻击方式),持续学习(注册商/DNS商/云服务商文档、SEO博客(百度搜索资源平台/Google Search Central)、安全公告),工具熟练用(nslookup/dig/curl/whois(排查解析/301/证书)、站长平台(百度/Google,SEO监控/改版)、SSL检查(sslshopper/SSL Labs)、域名历史(Wayback Machine)、黑名单检查(mxtoolbox/virustotal)、监控(UptimeRobot/云监控),工具越熟练排查越快,遇到问题能快速定位解决,域名绑定/更换是基本功,要做到熟练+不出错;15.域名是企业核心资产要重视——很多企业不重视域名(觉得就是个网址,随便买/随便换/员工个人名下/不续费),实际上域名是品牌/流量入口/SEO权重/用户信任/邮件/API的载体,换域名成本很高(SEO损失/用户流失/品牌重建/技术迁移/通知成本),能不换就不换(一开始就选好域名(好记/品牌相关/.com/无污点),长期使用),如果必须换(品牌升级/域名被墙/被仲裁/更好域名),要按流程认真做(提前准备+清单+测试+301+改版提交+长期过渡),把损失降到最低,域名要:注册在公司名下(不要员工个人)、注册信息真实准确、强密码+2FA+域名锁、自动续费+多续几年、独立邮箱管理、定期检查状态/解析/可访问性、重要品牌域名注册相关域名(.cn/.net/错拼)防抢注、考虑商标注册(品牌+域名),域名资产纳入企业资产管理(清单/负责人/到期提醒/监控),像保护商标一样保护域名,域名丢失/被黑/被墙对企业损失巨大,不要等出事才重视。掌握这些,域名绑定从『绑了打不开不知道为啥』变『四要素检查快速定位』,域名更换从『换完SEO掉了/支付坏了/用户流失』变『提前准备+按流程+全面检查+长期过渡,损失最小化』,域名这一核心资产安全稳定有保障。

域名更换完整指南_新手也能看懂的迁移教程

标签:

更新时间:2026-08-26 18:28:21

上一篇:网站证书错误服务器时间不对?_系统时间校准/NTP配置/证书验证失败_使用教程

下一篇:网站后台密码修改工具?_源码密码重置脚本_运维笔记