昨天我一个开亚马逊家居配件独立站的朋友找过来,说急哭了。最近欧盟订单多,加了个德语切换按钮,结果点过去要么全是问号要么还是中文。还有西班牙客户反馈说,西班牙文URL搜不到谷歌产品,只能首页进去瞎逛。折腾了3天服务器后台,花了钱找半吊子技术也没弄好。
其实很多做跨语言站点的人,一开始都是随便加个第三方弹窗插件,以为完事了。但真正稳定、收录好、不踩坑的配置,还是得从服务器端下手。今天我就用3招,全是大白话,没有任何黑话,小白跟着做也能一次弄对。
1. 先选对服务器多语言的“底层逻辑”,不然越改越乱
服务器端的多语言配置,说白了就是给不同语言找个“专属文件夹/专属路径/专属域名”,别让所有内容挤在一起。这一步选错了,后面代码和收录都会出问题。
1.1 适合新手和小站的:路径式(子目录)
路径式就是在主域名后面加个语言代码,比如你的站是example.com,中文就是example.com/zh,德语就是example.com/de。
它的好处全是小白友好的:不用额外买域名不用租额外空间,和主站共用服务器资源,谷歌收录也认这种“同品牌子站”的结构。
举个例子:你卖保温杯,中文的主保温杯页面是example.com/zh/thermos,德语就是example.com/de/thermos,看起来特别顺。
1.2 适合有预算、想做区域深耕的:域名式(国别域名)
国别域名就是每个语言配一个当地的域名,比如中文用example.cn,德国用example.de,西班牙用example.es。
它的好处是区域信任感强,当地客户看到.de就觉得是本地商家,谷歌当地站排名更靠前。但坏处是要多买几个域名,可能还要租几个靠近目标区域的服务器节点,成本会高一点。
2. 接下来是核心:照着2种主流服务器抄配置代码
现在主流的服务器,要么是Nginx(占了90%的国内云服务器默认环境),要么是Apache(老站常用的)。不管你用哪种,照着下面抄就行,别改其他无关的东西。
2.1 Nginx服务器的路径式配置
避坑提醒:改配置前一定要备份原来的nginx.conf文件!不然改错了整个站都打不开。
操作步骤很简单:
1. 用宝塔面板(如果你有的话,小白首选)或者Xshell连接服务器,找到你的站点配置文件,一般在/www/server/panel/vhost/nginx/你的域名.conf。
2. 打开文件,找到server块里的location /这一段,把原来的内容改成下面这样的:
```nginx
server {
listen 80;
server_name example.com www.example.com;
root /www/wwwroot/example.com; 改成你主站的根目录
index index.html index.php;
这里是默认语言(比如中文)的配置
location / {
try_files $uri $uri/ /zh/index.php?$query_string;
}
德语配置,其他语言复制这一段改语言代码就行
location /de {
alias /www/wwwroot/example.com/de; 改成你德语文件夹的路径
index index.html index.php;
try_files $uri $uri/ /de/index.php?$query_string;
如果是PHP站点,记得加这段PHP解析
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-74.sock; 改成你PHP版本的sock路径
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
}
```
3. 改完保存,在宝塔面板重启Nginx,或者用命令`nginx -s reload`重启,这样就生效了。
2.2 Apache服务器的路径式配置
Apache的配置比Nginx简单一点,不用改服务器主文件,直接在每个语言文件夹里加个.htaccess文件就行。
操作步骤:
1. 在你的中文文件夹(zh)和德语文件夹(de)里,各新建一个叫.htaccess的文件(注意开头有个点,Windows下可能需要先开显示隐藏文件)。
2. 在.htaccess里写下面的内容(以德语为例,中文同理):
```apache
RewriteEngine On
RewriteBase /de/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.)$ index.php?$1 [L,QSA]
```
3. 上传到对应的文件夹里,就可以用了。
3. 最后加两个“加分项”,谷歌和用户都喜欢
光配置好服务器还不够,还要让用户知道能切换语言,让谷歌知道你有多个语言版本。
3.1 用户友好:加个固定的、无广告的语言切换栏
别用第三方弹窗插件,很多都带广告或者加载慢,会把客户赶跑。直接在HTML代码里加个简单的切换栏就行。
举个极简的例子:
```html
```
把这段代码放在每个页面的或者最前面,固定在右上角,用户随时都能点。
3.2 谷歌友好:在每个页面加个
标签
这个标签能告诉谷歌,你这个页面的其他语言版本在哪里,谷歌会优先收录这些页面,还不会判重复内容。
举个中文页面的例子:
```html
```
记得每个语言版本的页面都要加对应的标签,不然就白弄了。
好了,今天的内容就到这里。你可以先回去看看自己的站用的是哪种服务器,然后选路径式或者域名式的底层结构,接着抄对应的配置代码,最后加个切换栏和谷歌标签。明天早上起来就能看到效果了。如果还有哪里不懂,可以在评论区留个言,我看到就会回。