写于 2017-02-14 12:10:05| 365bet官网| 基金

正则表达式(正则表达式)是我们在SEO工具库中最强大的工具之一,但它们令人难以置信的令人生畏!以下是从一个搜索引擎优化到另一个搜索引擎优化的一些提示和技巧,我希望能帮助你进入强大的正则表达世界我必须从免责声明开始:我不是编码员,开发人员或网络管理员我使用正则表达式是非常入门级的,但是我要分享的内容在我想要与你分享其中三个平台的各种平台上都运行良好:谷歌分析,尖叫青蛙和htaccess让我们从一些正则表达式的基础知识开始是什么以及它能为您做什么正则表达式命令基本上可以帮助您找到(和/或替换)非定义值例如,假设您有一个URL列表,您需要将它们分解为TLD(顶级域)您可以使用http和www的简单查找/替换,但是如何轻松地关闭所有文件名

您可以手动删除所有这些,但这很痛苦使用简单的正则表达式通配符(/ *),您可以删除斜杠和它后面的所有内容现在,首先,它有助于掌握最基本的命令它们意味着什么:(^)将发出命令信号,仅匹配“开头”的项目,因为如果你想拉出以“tiggers”开头的所有值,你可以使用它:^ tiggers($)结束查询它保持查询字符串等其他无关值包含在您选择的匹配中例如,假设您想匹配包含“tiggers”的任何内容,但仅当tiggers是字符串的结尾时你会使用这样的查询:(*)tiggers $这将匹配“I-like-tiggers”而不是“the-best-thing-is-tiggers-are-wonderful-things”Annie Cushing有一个很棒的小技巧记住这两个 - 她说你“带着胡萝卜(^)领导,但在一天结束时,一切都是关于钱($)”下一个一个你想知道的是($ 1)命令这允许你用其他东西替换一个东西,但保留之前或之后的其他东西例如,假设你有关于跳跳器的所有页面,但是你已经决定进入但是你需要将所有包含“tiggers”的值替换为“piglet”并且它们都遵循相同的结构让我们说你的值是:因为所有这些都以“tigger”开头,所以使用regex很容易实现这一点你需要做的是设置^ / tigger /(*)$使它成为/ piglet / $ 1基本上,你用上面的命令说的是:对于以(^)“/ tigger /”开头的任何东西,在它之后发生的任何事情(*)并将“tigger”替换为“piglet”,但保留其后的所有内容($ 1)美元符号可用于同一命令中的多个查询; $ 1是第一个值,$ 2是第二个值,3美元是第三个,依此类推如果一个命令中有2个美元符号的例子,说你有/ tigger / bouncing / something-else,你想用“tigger”代替“小猪”,但保持其他一切都一样,无论你用它是什么:^ /(*)/ tigger /(*)变成/ $ 1 / piglet / $ 2(“变成”不是一个有效的操作符,只是一个例子)这将导致上面的值导致/ piglet / bouncing / something-else最后,你应该知道管道条来分隔查询,因为它是一个强大的小工具管道栏允许你给出选项在上面的例子中,也许你现在有关于跳跳虎的页面,但你也有关于kanga的页面所以你需要更换tigger和kanga为了做到这一点,你将使用相同的命令,除了包括tigger和kanga两个作为选项它将以这样的方式写: ^ /(*)/(tigger | kanga)/(*)变为/ $ 1 / piglet / $ 2(“变成”不是有效的运算符,只是一个例子)管道栏的意思是“或”所以上面的命令说任何以任何东西开头的东西,在中间包含tigger或kanga,并且只用小猪替换tigger或kanga但是保留其他所有值围绕这些值显示这些概念要困难得多没有具体的例子,所以下面,我提供了一个如何在真实程序中工作的例子您是否曾在Google Analytics中使用过正则表达式匹配

它是如此强大让我们假设您有一个名为Hooli的品牌和一个名为Pied Piper的产品您希望看到您的流量来自于URL中没有品牌名称的目标网页您可以单独报告每个品牌名称然后从总计中进行重复数据删除和减去,或者您可以只使用正则表达式 让我们说Hooli经常拼错holi和wholi你也可以解释那些在分析中,选择“登陆页面”作为主要维度然后点击“高级”并选择“排除”和“匹配RegExp”制定您的查询以包括任何选项 - hooli,holi或wholi还有其他方法可以做到这一点;例如,您可以使用w

hoo

li作为命​​令,但这有点过于复杂所以坚持使用hooli | holi | wholi并且它将消除任何包含URL中的这些单词的登录页面想要添加pied和吹笛者呢

只需添加它们:hooli | holi | wholi | pied | piper让我们再举一个例子假设您需要一个仅过滤网站某个部分的网页的报告,例如“音乐”但您的网站架构已损坏,以及/ music子目录可能出现在任何位置你只需要出现在第三个位置的那个你不能使用开头,或者结束,或者包含,所以你做什么

答案是正则表达式使用您在上面学到的内容,您可以创建一个仅在第三个子目录中显示音乐的报告您可以像这样对其进行编码:^ / * / * / music / *该命令告诉分析符合任何着陆以斜线开头的页面,然后是任何东西,然后是斜线,然后是任何东西,然后是斜线,然后是音乐 - 它可能会或者可能没有它后面的东西换句话说,只有匹配“音乐”如果它是三个目录深你可以想象一下你如何能够学习更多的命令来拉出超过x个目录的所有页面,或创建真正详细的自定义段现在Screaming Frog怎么样

您是否知道您可以抓取网站的某些区域,或者查找特定的代码,即使它们是非标准的

以下是我最喜欢的两个:Includes / Excludes:在Screaming Frog的配置选项卡下,您可以选择Include或Exclude界面中给出的示例非常简单例如,如果您不想将博客包括在内你的抓取工作,你可以排除http:// wwwsitecom / blog / *但如果你想尝试一些更复杂的东西,你可以轻松使用像上面的那个之类的正则表达式例如,如果你知道登录和站点的管理页面将成为一个问题,您可以将上述命令修改为:http:// wwwsitecom /(login | admin)/ *如果您不确定层次结构中登录或管理目录的位置看来,你可以使用*(登录|管理员)*自定义配置:尖叫青蛙最强大的功能之一,是自定义配置功能这可以告诉你某个事物或字符串是否出现在页面代码中的任何位置你爬行当y时选择nofollow链接特别有用您正在进行链接审核例如,假设您有一个页面列表,其中入站链接位于您的站点您想知道这些页面是否仍包含您的链接,如果这些页面仍然包含您的链接,那么它是否已被禁用

修改正则表达式代码很容易做到这一点:

website \ com({0,100}

)(nofollow)这将显示您的目标网站的任何链接(替换网站\ com与你的目标)有一个nofollow标签出现在网站地址后注意我说修改,而不是创建这个代码包含大括号,我们没有谈到上面的一个关于正则表达式的一个伟大的事情是,一旦你找到有效的代码,您可以根据自己的目的修改它

例如,如果您想使用相同的代码并找到包含图像作为链接的任何页面,您可以轻松地将nofollow修改为img但是总是测试并重新测试您的代码 - 很容易制作一个错误,特别是如果你真的不明白代码在做什么在上面的代码中,{0,100}意味着可以出现0到100个字符的任何数量在这个特殊情况下,这很好但是如果你修改了这个代码的东西你需要向前或向后看超过100个字符的地方s,你可能想要以不同的方式做到这一点最后,htaccess如果你不知道这是什么,它是控制服务器如何响应请求的文件你可以控制IP地址,WordPress功能,用户代理检测和这个文件有很多其他的东西为了这个练习的目的,我们来谈谈URL现在,我必须先发出一个警告:HTACCESS可以打倒你的整个网站!总是,在你触摸htaccess之前,做这四件关键的事情:好的,既然你是安全的,你的原件已经备份了(它备份了,对吗

!)你可以开始玩了 你可以用这种方式做简单的301重定向:Redirect 301 / somefile http:// wwwhoolicom / someotherfile但是RedirectMatch功能更强大,允许你使用那些很酷的正则表达式快速抛开...我知道RewriteEngine更优雅,但它也是一个更复杂我的目标是分享一些我用过的正则表达式新技术的简单技术再次使用我们的Hooli示例,假设您正在从一个所有博客网址中都有/ blog /的结构转移到其中新结构,它们将具有相同的文件名,但/ blog /将被删除您可以使用单个命令重定向所有这些(无论是10还是10,000):RedirectMatch 301 ^ / blog /(*)$ http:// wwwhoolicom / $ 1这个命令基本上意味着 - 对于文件名以博客开头的URL,以及其后的任何内容,将301状态重定向到域后面有相同的东西,但没有/ blog /现在让我们说你是不只是删除/ blog /,你用/ new替换它s / silicon-valley /您将命令更改为:RedirectMatch 301 ^ / blog /(*)$ http:// wwwhoolicom / news / silicon-valley / $ 1(注意:这可能显示为换行,但是实际命令应该都在一行上)现在,如果你有一个非常混乱的旧网站,你需要更改所有这些网址指向一个特定页面怎么办

您所要做的就是寻找可重复的模式:http:// wwwhoolicom / products / pied-piper http:// wwwhoolicom / products / pied http:// wwwhoolicom / products / pie-piper http:// wwwhoolicom / products / pieds-pipers这些都包含“馅饼”之后/产品你要确保新网站不会有任何符合此模式的合法网页,但一旦你知道他们不会,你可以重定向所有使用单个命令RedirectMatch 301 ^ / products / pie(*)$ http:// wwwhoolicom / services / pied-piper(注意:这可能显示为换行,但实际命令应该都在一行上)最后,也许你有一个结构,其中所有内容都以html结尾,并且你的新页面都不会以这种方式结束

再次找到模式,如果有的话:RedirectMatch 301 ^ /(*)html $ http:// wwwhoolicom / $ 1(注意:这可能显示为换行,但实际命令应该都在一行上)如果一切都匹配但是一个或两个特定文件怎么办

有一个修复也是这样添加这样的排除:RedirectMatch 301 ^ /(

!(notthisfile)/)(*)html $ http:// wwwhoolicom / $ 1(注意:这可能显示为换行,但实际命令应该都在一行上)如果你有多个或两个排除项,你真的需要使用重写,这对你所拥有的每个重定向都不起作用;你肯定会有一些1:1,但它会帮助很多,并使你的结构更易于管理

有关使用RedirectMatch的进一步阅读,请查看apacheorg有关正则表达式的更多信息,本教程非常棒请勿恐慌保存你在服务器上的某个地方构建的内容,并重新上传保存的备份文件你没有保留备份

那是愚蠢的现在你必须打电话给某人并付钱帮助你抱歉,这就是为什么你总是保持备份!最糟糕的情况是,上传一个空的htaccess文件(除非它是WordPress),然后在顶部包含那个使WordPress功能的位如果你也丢失了,谷歌它将使你的网站回到服务器的“出厂设置”你赢了不会丢失任何内容,但你会重置你所拥有的任何重定向希望这些技巧和窍门将帮助你在日常工作中变得更有效率作为SEO如上所述,我不是正则表达式天才,所以如果我有说错了或错过了一个警告,请在评论中告诉我

同样,如果你有想要与社区分享的技巧,请做!本文中表达的观点是客座作者的观点,不一定是搜索引擎土地工作人员的作者在此列出