草,看到这个问题我血压就上来了。你以为百度给你那个站内搜索代码是福利?那是让你自己把蜘蛛引进来然后关上门打的陷阱!
真的,我当年就是头铁,非觉得自己能搞定,觉得用官方的搜索框对SEO友好还能提升用户体验,结果呢?先是按照官方文档把那段JS怼到Dede的搜索框模板里,光是为了让Dede的PHP环境和百度那个异步接口和平共处就折腾了我一晚上,各种报错,不是跨域就是参数不对,凌晨三点盯着屏幕眼睛都绿了。
最骚的操作来了——好不容易调通了,百度那边接口说变就变啊!上个月还能用,下个月突然就搜不出东西了,或者只给你返回一些毫不相关的内容,用户在你网站一搜,结果页全是别的网站的或者八竿子打不着的信息,那体验简直灾难,跳出率蹭蹭往上涨,我恨不得把那个搜索框抠掉。这还不是最致命的,致命的是你根本不知道问题出在哪,是百度接口又调整了?还是我Dede这边哪个标签调用又冲突了?还是服务器环境的问题?排查起来像无头苍蝇。
而且,用它的站内搜,等于你把用户的关键词行为和数据又双手奉还给了百度,你自己屁都分析不到,想做个搜索热词统计优化下TDK?门都没有。后来我算是悟了,对于DedeCMS这种老系统,想稳定可控,要么用它的自带的搜索功能(虽然弱但好歹是自己家的),要么就花点钱上第三方成熟的站内搜索服务,比如用它的API自己重写个搜索页,虽然要动点代码,但数据在自己手里,收录和索引控制也灵活。当然,如果你是技术大牛,自己用coreseek或者xunsearch给Dede搭一套,那当我没说,那是另一个层面的凡尔赛了。
血泪教训:别在核心体验上依赖你不完全可控的第三方服务,尤其是免费还经常改规则的。 真想研究,可以去看看那些专门做站内搜索优化的老哥是怎么避坑的,他们踩过的雷比你写过的标签都多。至于DedeCMS?放过它吧,它只是个老旧的系统,能稳定跑着不出错就谢天谢地了。
