—正文开始—
各位亲爱的朋友们,今天咱们不聊理想主义,也不聊6点钟的闹钟,咱们聊点更接地气的——怎么把WordPress玩成俄罗斯套娃,一层套一层,套到最后连你自己都找不到北。官方术语管这个叫“站内站”,我管它叫“网站里再开个网站,网站看了直呼内行”。
想当年,我拿着一杯冰美式,盯着服务器后台发呆,心想:一个网站哪够我折腾?我要在主站里再塞一个“小老弟”,让它既听话又不抢戏,最好还能独立收广告费。于是,我抄起键盘,一顿操作猛如虎,最后真给我整成了。今天把这段黑历史,哦不,黑技术,掏心窝子分享给大家。
第一步:先给主站打个预防针
主站就像你家客厅,客人来了得先脱鞋。咱们用子目录(subdirectory)方案,相当于在客厅地板上再铺一层地毯,告诉搜索引擎:“这里虽然是新房间,但房产证上还是同一个房东。”路径大概长这样:yourdomain.com/xiaolaodi/。记住,千万别用子域名(subdomain),那玩意儿在SEO眼里就是隔壁老王,感情分直接打骨折。
第二步:假装自己是新来的
把一套全新的WordPress程序扔进刚才那个文件夹,安装的时候数据库前缀记得改,比如wp2_,不然主站会以为你带了个替身来抢饭碗。数据库可以共用,但表前缀必须像情侣网名一样区分开,否则半夜数据库吵架你别哭。
第三步:主题?必须撞衫!
想让访客以为“站内站”是亲生的,主题必须和主站穿同款衣服。去主题市场找一套支持子主题的,子主题里改个颜色、换个LOGO,完事。别问我为什么不直接复制粘贴,复制粘贴是产品经理的特长,咱们技术人得有底线。
第四步:权限?给足但不给过
“小老弟”不能动主站的奶酪。用.htaccess写两行代码,把/wp-content/uploads主站目录设为只读;再给“小老弟”单独开一个uploads目录,路径/yourdomain.com/xiaolaodi/wp-content/uploads/xiaolaodi-uploads/。这样即使“小老弟”喝醉上传了18G的蓝光电影,主站也能淡定喝茶。
第五步:SEO?让它喊主站爸爸
在“小老弟”的header.php里加一段canonical标签,指回主站首页;再在robots.txt里写“Disallow: /xiaolaodi/wp-admin/”,告诉搜索引擎:“后台是禁地,前台随便逛。”最后别忘了给“小老弟”单独装个SEO插件,标题格式统一成“主站名 | 小老弟专栏”,搜索引擎一看就知道是亲生的。
第六步:广告?让它自己赚奶粉钱
“小老弟”想接广告?可以!但广告位必须和主站错峰。比如主站放728×90的横幅,“小老弟”就用300×250的侧边栏,避免抢主站金主爸爸的流量。记得把Adsense的“站点授权”里加上xiaolaodi的完整路径,不然谷歌爸爸会以为你走私。
第七步:备份?必须双份
主站用UpdraftPlus,“小老弟”也用UpdraftPlus,但备份路径分开。主站备份到Google Drive,“小老弟”备份到Dropbox,这样即使主站被陨石砸中,“小老弟”还能在云端对你比心。
结语
好了,今天的相声到此结束。记住,“站内站”不是套娃游戏,而是内容分级的艺术。主站负责高大威猛,“小老弟”负责调皮捣蛋,两者相辅相成,就像咖啡和蒜,看似不搭,实则上头。祝你折腾愉快,别忘了给服务器多续几年费,不然“小老弟”长大离家出走了可别找我。
—正文结束—
———————————
教程模式:WordPress站内站超详细操作手册
(适合手残党,每步都有截图级指引)
选方案:子目录 vs 子域名
• 子目录:/newsite/,SEO继承主站权重,推荐。
• 子域名:newsite.yourdomain.com,需单独备案(国内),权重独立。
新建目录
通过FTP或文件管理器,在主站根目录下新建文件夹,例如:/blog2/。权限755。
复制WordPress核心文件
• 下载最新版WP,解压后上传到/blog2/。
• 或直接SSH:
cd /home/youruser/public_html
mkdir blog2
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1 -C blog2
创建独立数据库(可选)
cPanel → MySQL® Database Wizard → 创建数据库blog2_db、用户blog2_user,授权所有权限。
如果想共用主站数据库,安装时把表前缀改为wp2_。
运行安装脚本
浏览器访问 yourdomain.com/blog2/wp-admin/install.php
填写数据库信息、站点标题、管理员账号(建议与主站不同)。
主题与子主题
• 主站主题:Astra
• 子站复制主题:在/wp-content/themes/astra-child/新建style.css,内容:
/*
Theme Name: Astra Child for Blog2
Template: astra
* /
@import url("../astra/style.css");
/* 覆盖样式写下面 * /
伪静态(固定链接)
主站已开启pretty permalink时,子站需在/blog2/下新建.htaccess,内容:
# BEGIN WordPress
RewriteEngine On
RewriteBase /blog2/
RewriteRule ^index\.php$ - 【L】
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog2/index.php 【L】
# END WordPress
用户权限隔离
• 安装插件“User Role Editor”,在子站后台把新注册用户的默认角色设为“Contributor”,禁止安装插件。
• 用“Application Passwords”插件给子站作者生成专用密码,避免泄露主站账号。
SEO细节
• 子站设置 → 常规 → 站点地址(URL)保持 yourdomain.com/blog2/
• 安装Rank Math,TDK模板:
标题:{{sitename}} | {{title}}
描述:{{excerpt}}
• 在Rank Math → Titles & Meta → Misc Pages → 勾选“Noindex subpages”。
备份与监控
• 主站:UpdraftPlus → 备份到Google Drive,保留4份。
• 子站:UpdraftPlus → 备份到Dropbox,保留2份。
• 用“Query Monitor”插件监控子站数据库查询时间,超过2秒发邮件报警。
升级与维护
• 主站升级WP核心前,先在子站测试同款插件兼容性。
• 子站如需升级主题,先在本地Staging环境跑一遍,再上生产。
常见问题速查
Q:子站登录后跳回主站?
A:检查子站wp-config.php里的COOKIE_DOMAIN,设为:
define('COOKIE_DOMAIN', $_SERVER【'HTTP_HOST'】); Q:图片404?
A:确认子站uploads路径权限755,且.htaccess没有误拦截。
照此流程,30分钟内就能在主站怀里再养一个“小老弟”。祝折腾愉快,别忘了给本文点个赞,虽然它不会变成比特币,但会让服务器跑得更快。