Verificar as palavras da function do site causa a sobrecarga da consulta do database

Estou escrevendo um plugin e parte do plugin é uma análise do conteúdo dos sites para “palavras ruins”. Eu usei get_site_url() e curl para reunir o conteúdo dos sites. No entanto, a function é enrolada três vezes por cada pageload e isso faz com que o database atue e demore muito. Aqui está a function:

  function verify_site_content () {
     $ url = get_site_url ();
     // $ url = "http://www.daniel-klose.com";
     se (is_callable ('curl_init')) {
             $ crl = curl_init ();
     } outro {
     retorna falso;
     }
     $ timeout = 2;
     curl_setopt ($ crl, CURLOPT_HEADER, 0);
     curl_setopt ($ crl, CURLOPT_VERBOSE, 0);
     curl_setopt ($ crl, CURLOPT_URL, $ url);
     curl_setopt ($ crl, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt ($ crl, CURLOPT_CONNECTTIMEOUT, $ timeout);
     $ ret = curl_exec ($ crl);
     curl_close ($ crl);
     $ ret = file_get_contents ($ url);
     diretório $ global;
     $ filename = $ directory. "resources / bad_words.txt";
     $ targets = file ($ filename, FILE_IGNORE_NEW_LINES);
     foreach ($ metas como $ t)
         {
         se (preg_match ("/ \ b". $ t. "\ b / i", $ ret)) {
             retorna falso;
                     pausa;
         }
     }
     retornar verdadeiro;
 } 

Existe uma maneira de modificar esta function para ser mais eficiente? Eu basicamente só quero verificar se o site tem conteúdo adulto / idioma ruim usando uma lista de palavras em bad_words.txt.

Obrigado!

Solutions Collecting From Web of "Verificar as palavras da function do site causa a sobrecarga da consulta do database"