做站这些年,发外链、换友链那是家常便饭。但有个事儿挺让人头疼,就是emlog这个程序,默认情况下友情链接是全局显示的。你想啊,首页放几个高质量的没问题,但内页要是也挂着,不仅显得乱,还容易把权重分散了,甚至被百度判定为链接农场,那就得不偿失了。我最近也在琢磨这事儿,试了好几种方法,最后发现还是改代码最直接,虽然有点小麻烦,但胜在稳定。
先说下背景,很多新手朋友可能不知道,emlog的友链模块是写在模板里的。你要是直接改模板文件,那得小心点,别把整个站搞挂了。我的经验是,别去动那些核心的php文件,就动模板那边的东西。大部分emlog模板,友链都是在sidebar.php或者footer.php里调用的。你打开你的模板文件夹,找到对应的那个php文件,用记事本或者专业的编辑器打开。
找代码的时候,你会看到类似这种类似的标签,或者是专门调用友链的函数。这时候你得有点耐心,仔细看。有些模板可能把友链单独封装了,你得找到那个调用的地方。找到了之后,别急着删,先备份!备份!备份!重要的事情说三遍,我见过太多人改代码没备份,结果网站打不开了,急得跳脚。
接下来就是关键步骤了。我们要让友链只在首页显示。怎么判断是不是首页呢?emlog有个全局变量,或者可以用$_SERVER['REQUEST_URI']来判断。不过最简单粗暴的方法,其实是利用emlog自带的判断函数。如果你用的是比较新的版本,可能直接有is_home()这样的函数,但很多老模板可能没有。这时候我们可以用个土办法,就是判断当前页面是不是首页。
你可以试着在调用友链的代码外面套个if判断。比如:
if(is_home()){
// 这里放原来的友链调用代码
}
但是,emlog的模板语法有时候比较奇葩,不是所有模板都支持这种写法。如果不行,那就得用更底层的办法。比如,在模板的header.php或者footer.php里,加一段php代码来判断。
这里有个小坑,有些朋友可能会说,直接删掉内页的友链代码不就行了?不行,因为很多模板是循环调用的,你删了可能首页也没了。所以得用条件判断。
我试过一种方法,就是在sidebar.php里,找到友链模块的代码,大概在中间位置。然后在那一行前面加上:
后面加上:
这招挺管用,基本上就能实现只在首页显示了。不过,你得注意,BLOG_URL和BLOG_HOST这两个变量,在不同版本的emlog里可能定义不太一样。如果报错,你就得去查一下你当前模板的变量定义。
还有一种情况,就是有些模板把友链写在了模板的特定位置,比如footer。这时候你改sidebar可能没用。你得全局搜索一下“友链”或者“links”相关的关键词,看看代码到底藏在哪。
改完代码后,一定要清缓存!清缓存!清缓存!emlog的缓存机制有时候挺顽固的,你改了代码,前台还是老样子,那就是缓存没清。后台有个清缓存的按钮,点一下,或者手动去data/cache文件夹里把文件删了也行。
另外,提醒一下,改代码的时候,别手抖。我有一次手滑,多打了个括号,结果网站直接500错误,找了半天才发现是个标点符号的问题。这种低级错误,真的挺搞心态的。还有,别贪多,一次改一个地方,改完测试一下,没问题再改下一个。
最后,说点题外话。做SEO,外链和友链确实重要,但别太执着于形式。友链的质量比数量重要,相关性比位置重要。如果你能把首页的友链优化好,内页适当减少,其实对用户体验和搜索引擎都更友好。毕竟,用户进来看内容,不是来看你挂了多少链接的。
总之,emlog友情链接只在首页显示,不是什么高深技术,就是改改代码的事儿。只要细心点,多备份,多测试,肯定能搞定。希望这点经验分享能帮到正在头疼的朋友。要是还有问题,可以在评论区留言,咱们一起探讨。毕竟,做站这条路,一个人走太孤单,互相帮衬才能走得远。记住,别怕出错,错了就改,改错了就重来,反正网站又不会跑。