Автоматически добавлять rel=nofollow ко всем исходящим ссылкам в ASP.NET.

Кто-нибудь из гениев StackOverflow когда-либо делал решение, которое автоматически добавляет rel="nofollow" ко всем внешним ссылкам?

Я просто хотел бы извиниться, я очень новичок в программировании бэкэнда - мои попытки буквально ни к чему не привели, поэтому я их не опубликовал.

Я нашел некоторые решения в php, но ничего в ASP.NET.

У меня есть решение на jQuery, но проблема в том, что оно будет добавлено после загрузки. Это не годится для указания роботу Googlebot игнорировать указанные ссылки на моих страницах.

Решение jQuery:

$("div.content a[href^='http']:not([href*='mysite.co.uk'])").attr("rel", 
"follow");

person Duke Dodson    schedule 06.11.2018    source источник


Ответы (1)


Один из способов — создать свой собственный HttpModule, который устанавливает ответ на использование производного класса потока для фильтрации тела HTTP. Там есть связанный пример того, как создать базовый HttpModule. Github или Nuget могут иметь класс фильтра, который кто-то написал для модификации выходного потока, когда его тип содержимого равен text/html, который вы можете изменить для своих нужд.

Чтобы создать его самостоятельно, вам необходимо подключиться к событию BeginRequest и установить фильтр для HttpApplication response.filter. Этот фильтр будет отвечать за реализацию чтения ответа, созданного страницей/управлением/ihttphandler, и его изменение перед отправкой клиенту, а затем реализацию записи клиенту.

person Aaron    schedule 06.11.2018