Pagespeedapi: runpagespeed

Executa uma análise do PageSpeed na página no URL especificado e retorna as pontuações do PageSpeed, uma lista de sugestões para tornar a página mais rápida, além de outras informações. Faça o teste agora.

Solicitação

Solicitação HTTP

GET https://www.googleapis.com/pagespeedonline/v4/runPagespeed

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de consulta obrigatórios
url string O URL a ser buscado e analisado
Parâmetros de consulta opcionais
filter_third_party_resources boolean Indica se os recursos de terceiros devem ser filtrados antes da análise do PageSpeed. Padrão: false.
locale string Localidade usada para localizar resultados formatados
rule string Uma regra PageSpeed a ser executada. Se nenhuma for fornecida, todas as regras serão executadas
screenshot boolean Indica se dados binários que contêm uma captura de tela precisam ser incluídos (Padrão: false)
snapshots boolean Indica se dados binários contendo imagens de snapshot precisam ser incluídos (Padrão: false)
strategy string A estratégia de análise (computador ou dispositivo móvel) a ser usada (computador é o padrão)

Os valores aceitáveis são os seguintes:
  • "desktop": buscar e analisar o URL de navegadores para computador
  • "mobile": busque e analise o URL em dispositivos móveis
utm_campaign string Nome da campanha para análise.
utm_source string Origem da campanha para análise.

Corpo da solicitação

Não forneça um corpo de solicitação com este método.

Resposta

Se for bem-sucedido, esse método retornará um corpo de resposta com esta estrutura:

{
  "captchaResult": string,
  "kind": "pagespeedonline#result",
  "id": string,
  "responseCode": integer,
  "title": string,
  "ruleGroups": {
    (key): {
      "score": integer,
      "pass": boolean
    }
  },
  "loadingExperience": {
    "id": string,
    "metrics": {
      (key): {
        "median": integer,
        "distributions": [
          {
            "min": integer,
            "max": integer,
            "proportion": double
          }
        ],
        "category": string
      }
    },
    "overall_category": string,
    "initial_url": string
  },
  "pageStats": {
    "numberResources": integer,
    "numberHosts": integer,
    "totalRequestBytes": long,
    "numberStaticResources": integer,
    "htmlResponseBytes": long,
    "textResponseBytes": long,
    "overTheWireResponseBytes": long,
    "cssResponseBytes": long,
    "imageResponseBytes": long,
    "javascriptResponseBytes": long,
    "flashResponseBytes": long,
    "otherResponseBytes": long,
    "numberJsResources": integer,
    "numberCssResources": integer,
    "numberRobotedResources": integer,
    "numberTransientFetchFailureResources": integer,
    "numTotalRoundTrips": integer,
    "numRenderBlockingRoundTrips": integer,
    "robotedUrls": [
      string
    ],
    "transientFetchFailureUrls": [
      string
    ],
    "cms": string
  },
  "formattedResults": {
    "locale": string,
    "ruleResults": {
      (key): {
        "localizedRuleName": string,
        "ruleImpact": double,
        "beta": boolean,
        "groups": [
          string
        ],
        "summary": {
          "format": string,
          "args": [
            {
              "type": string,
              "key": string,
              "value": string,
              "rects": [
                {
                  "left": integer,
                  "top": integer,
                  "width": integer,
                  "height": integer
                }
              ],
              "secondary_rects": [
                {
                  "left": integer,
                  "top": integer,
                  "width": integer,
                  "height": integer
                }
              ]
            }
          ]
        },
        "urlBlocks": [
          {
            "header": {
              "format": string,
              "args": [
                {
                  "type": string,
                  "key": string,
                  "value": string,
                  "rects": [
                    {
                      "left": integer,
                      "top": integer,
                      "width": integer,
                      "height": integer
                    }
                  ],
                  "secondary_rects": [
                    {
                      "left": integer,
                      "top": integer,
                      "width": integer,
                      "height": integer
                    }
                  ]
                }
              ]
            },
            "urls": [
              {
                "result": {
                  "format": string,
                  "args": [
                    {
                      "type": string,
                      "key": string,
                      "value": string,
                      "rects": [
                        {
                          "left": integer,
                          "top": integer,
                          "width": integer,
                          "height": integer
                        }
                      ],
                      "secondary_rects": [
                        {
                          "left": integer,
                          "top": integer,
                          "width": integer,
                          "height": integer
                        }
                      ]
                    }
                  ]
                },
                "details": [
                  {
                    "format": string,
                    "args": [
                      {
                        "type": string,
                        "key": string,
                        "value": string,
                        "rects": [
                          {
                            "left": integer,
                            "top": integer,
                            "width": integer,
                            "height": integer
                          }
                        ],
                        "secondary_rects": [
                          {
                            "left": integer,
                            "top": integer,
                            "width": integer,
                            "height": integer
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "version": {
    "major": integer,
    "minor": integer
  },
  "invalidRules": [
    string
  ],
  "screenshot": {
    "key": string,
    "mime_type": string,
    "data": bytes,
    "width": integer,
    "height": integer,
    "page_rect": {
      "left": integer,
      "top": integer,
      "width": integer,
      "height": integer
    }
  },
  "snapshots": [
    {
      "key": string,
      "mime_type": string,
      "data": bytes,
      "width": integer,
      "height": integer,
      "page_rect": {
        "left": integer,
        "top": integer,
        "width": integer,
        "height": integer
      }
    }
  ]
}
Nome da propriedade Valor Descrição Observações
captchaResult string O resultado da verificação de captcha

Os valores aceitáveis são os seguintes:
  • "CAPTCHA_BLOCKING"
  • "CAPTCHA_MATCHED"
  • "CAPTCHA_NEEDED"
  • "CAPTCHA_NOT_NEEDED"
  • "CAPTCHA_UNMATCHED"
kind string Tipo de resultado.
id string URL canonizado e final do documento, depois de seguir os redirecionamentos da página (se houver).
responseCode integer O código de resposta do documento. O valor 200 indica um carregamento de página normal. 4xx/5xx indica um erro.
title string Título da página, conforme exibido na barra de título do navegador.
ruleGroups object Um mapa com uma entrada para cada grupo de regras nesses resultados.
ruleGroups.(key) object O nome desse grupo de regras: "VELOCIDADE", "USABILIDADE" ou "SEGURANÇA".
ruleGroups.(key).score integer A pontuação (0 a 100) para esse grupo de regras, que indica a qualidade da página em determinada categoria (por exemplo, a velocidade, a usabilidade ou o nível de segurança). Uma pontuação alta indica pouco espaço para melhoria, enquanto uma pontuação mais baixa indica mais espaço para melhorias.
ruleGroups.(key).pass boolean
loadingExperience object Métricas dos usuários finais experiência de carregamento da página.
loadingExperience.id string O URL, o padrão ou a origem em que as métricas estão.
loadingExperience.metrics object
loadingExperience.metrics.(key) object O tipo de métrica.
loadingExperience.metrics.(key).median integer
loadingExperience.metrics.(key).distributions[] list
loadingExperience.metrics.(key).distributions[].min integer
loadingExperience.metrics.(key).distributions[].max integer
loadingExperience.metrics.(key).distributions[].proportion double
pageStats object Estatísticas de resumo da página, como número de bytes JavaScript, número de bytes HTML etc.
pageStats.numberResources integer Número de recursos HTTP carregados pela página.
pageStats.numberHosts integer Número de hosts exclusivos referenciados pela página.
pageStats.totalRequestBytes long Tamanho total de todos os bytes de solicitação enviados pela página.
pageStats.numberStaticResources integer Número de recursos estáticos (que podem ser armazenados em cache) na página.
pageStats.htmlResponseBytes long Número de bytes de resposta descompactados para o documento HTML principal e todos os iframes na página.
pageStats.textResponseBytes long Número de bytes de resposta descompactados para recursos de texto não cobertos por outras estatísticas (ou seja, recursos não HTML, script e não CSS) na página.
pageStats.overTheWireResponseBytes long Número de bytes através da rede, usa a estratégia de compactação gzip padrão como estimativa.
pageStats.cssResponseBytes long Número de bytes de resposta descompactados para recursos CSS na página.
pageStats.imageResponseBytes long Número de bytes de resposta para recursos de imagem na página.
pageStats.javascriptResponseBytes long Número de bytes de resposta descompactados para recursos JS na página.
pageStats.flashResponseBytes long Número de bytes de resposta para recursos em Flash na página.
pageStats.otherResponseBytes long Número de bytes de resposta para outros recursos na página.
pageStats.numberJsResources integer Número de recursos JavaScript referenciados pela página.
pageStats.numberCssResources integer Número de recursos CSS referenciados pela página.
pageStats.numberRobotedResources integer Número de recursos automatizados.
pageStats.numberTransientFetchFailureResources integer Número de recursos com falha temporária.
pageStats.numTotalRoundTrips integer As idas e voltas necessárias para carregar a página inteira.
pageStats.numRenderBlockingRoundTrips integer As idas e voltas necessárias para carregar os recursos de bloqueio de renderização
pageStats.robotedUrls[] list Lista de URLs controlados por robôs.
pageStats.transientFetchFailureUrls[] list Lista de URLs de falha temporária de busca.
pageStats.cms string Sistema de gerenciamento de conteúdo (CMS) usado para a página.

Os valores aceitáveis são:
  • "BITRIX"
  • "BLOGGER"
  • "DATALIFE_ENGINE"
  • "DRUPAL"
  • "GOOGLE_SITES"
  • "JOOMLA"
  • "MAGENTO"
  • "PRESTASHOP"
  • "TUMBLR"
  • "UNKNOWN"
  • "VBULLETIN"
  • "WORDPRESS"
formattedResults object Resultados do PageSpeed localizados. Contém uma entrada rulesResults para cada regra do PageSpeed instanciada e executada pelo servidor.
formattedResults.locale string A localidade do formattedResults, por exemplo, "pt_BR".
formattedResults.ruleResults object Dicionário de resultados de regras formatadas, com uma entrada para cada regra do PageSpeed instanciada e executada pelo servidor.
formattedResults.ruleResults.(key) object O identificador em formato de enumeração para a regra. Por exemplo, "EnableKeepAlive" ou "EvitarCssImport". Não localizada.
formattedResults.ruleResults.(key).localizedRuleName string Nome localizado da regra, destinado à apresentação a um usuário.
formattedResults.ruleResults.(key).ruleImpact double O impacto (valor de ponto flutuante ilimitado) que a implementação das sugestões dessa regra teria em tornar a página mais rápida. O impacto é comparável entre as regras para determinar qual as sugestões de qual delas teria um impacto maior ou menor na geração de uma página mais rápida. Por exemplo, se ativar a compactação economizaria 1 MB e otimizar imagens, economizar 500 KB, a regra de ativação de compactação teria o dobro do impacto da regra de otimização de imagem. Todos os outros aspectos seriam iguais.
formattedResults.ruleResults.(key).beta boolean Indica se a regra está na versão "Beta". Na versão Beta, as regras novas estão sendo testadas e não afetam a pontuação geral.
formattedResults.ruleResults.(key).groups[] list Lista de grupos de regras a que esta regra pertence. Cada entrada na lista tem a classificação "VELOCIDADE", "USABILIDADE" ou "SEGURANÇA".
formattedResults.ruleResults.(key).summary nested object É uma breve descrição resumida da regra, indicando em alto nível o que precisa ser feito para seguir a regra e os benefícios que isso pode trazer.
formattedResults.ruleResults.(key).summary.format string Uma string de formato localizada com espaços reservados , em que "FOO" é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).summary.args[] list Lista de argumentos da string de formato.
formattedResults.ruleResults.(key).summary.args[].type string Tipo de argumento. URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).summary.args[].key string A chave do marcador de posição para este argumento, como uma string.
formattedResults.ruleResults.(key).summary.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).summary.args[].rects[] list Os retângulos de tela referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente para um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
formattedResults.ruleResults.(key).summary.args[].rects[].left integer
formattedResults.ruleResults.(key).summary.args[].rects[].top integer
formattedResults.ruleResults.(key).summary.args[].rects[].width integer
formattedResults.ruleResults.(key).summary.args[].rects[].height integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[] list Retângulos de tela secundários sendo referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[] list Lista de blocos de URLs. Cada bloco pode conter um cabeçalho e uma lista de URLs. Cada URL pode incluir detalhes adicionais.
formattedResults.ruleResults.(key).urlBlocks[].header nested object Cabeçalho a ser exibido com a lista de URLs.
formattedResults.ruleResults.(key).urlBlocks[].header.format string Uma string de formato localizada com espaços reservados , em que "FOO" é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].header.args[] list Lista de argumentos da string de formato.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].type string Tipo de argumento. URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].header.args[].key string A chave do marcador de posição para este argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[] list Os retângulos de tela referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente para um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[] list Retângulos de tela secundários sendo referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[] list Lista de entradas com informações sobre URLs no bloco "url". Opcional.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result nested object Uma string de formato que fornece informações sobre o URL e uma lista de argumentos para essa string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.format string Uma string de formato localizada com espaços reservados , em que "FOO" é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[] list Lista de argumentos da string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].type string Tipo de argumento. URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].key string A chave do marcador de posição para este argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[] list Os retângulos de tela referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente para um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[] list Retângulos de tela secundários sendo referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[] list Lista de entradas com detalhes adicionais sobre um único URL. Opcional.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].format string Uma string de formato localizada com espaços reservados , em que "FOO" é a chave do argumento cujo valor deve ser substituído. Para argumentos HYPERLINK, a string de formato conterá e para o argumento com a chave "FOO".
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[] list Lista de argumentos da string de formato.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].type string Tipo de argumento. URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION, VERBATIM_STRING, PERCENTAGE, HYPERLINK ou SNAPSHOT_RECT.

Os valores aceitáveis são:
  • "BYTES"
  • "DISTANCE"
  • "DURATION"
  • "HYPERLINK"
  • "INT_LITERAL"
  • "PERCENTAGE"
  • "SNAPSHOT_RECT"
  • "STRING_LITERAL"
  • "URL"
  • "VERBATIM_STRING"
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].key string A chave do marcador de posição para este argumento, como uma string.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].value string Valor do argumento, como uma string localizada.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[] list Os retângulos de tela referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT. Se esse argumento estiver ausente para um argumento SNAPSHOT_RECT, significa que esse argumento se refere ao snapshot inteiro.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].height integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[] list Retângulos de tela secundários sendo referidos, com dimensões medidas em pixels CSS. Ele é usado apenas para argumentos SNAPSHOT_RECT.
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].left integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].top integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].width integer
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].height integer
version object A versão do PageSpeed usada para gerar esses resultados.
version.major integer O número da versão principal do PageSpeed usado para gerar esses resultados.
version.minor integer O número da versão secundária do PageSpeed usado para gerar esses resultados.
invalidRules[] list Lista de regras especificadas na solicitação, mas que o servidor não sabia como instanciar.
screenshot nested object Captura de tela codificada em Base64 da página que foi analisada.
screenshot.key string Chave de string exclusiva, se houver, que identifica a imagem.
screenshot.mime_type string Tipo MIME dos dados da imagem (por exemplo, "image/jpeg").
screenshot.data bytes Dados de imagem codificados em base64.
screenshot.width integer Largura da captura de tela em pixels.
screenshot.height integer Altura da captura de tela em pixels.
screenshot.page_rect object
screenshot.page_rect.left integer
screenshot.page_rect.top integer
screenshot.page_rect.width integer
screenshot.page_rect.height integer
snapshots[] list Capturas de tela adicionais codificadas em base64 da página, em vários estados de renderização parcial.
snapshots[].key string Chave de string exclusiva, se houver, que identifica a imagem.
snapshots[].mime_type string Tipo MIME dos dados da imagem (por exemplo, "image/jpeg").
snapshots[].data bytes Dados de imagem codificados em base64.
snapshots[].width integer Largura da captura de tela em pixels.
snapshots[].height integer Altura da captura de tela em pixels.
snapshots[].page_rect object
snapshots[].page_rect.left integer
snapshots[].page_rect.top integer
snapshots[].page_rect.width integer
snapshots[].page_rect.height integer
loadingExperience.metrics.(key).category string

Os valores aceitáveis são:
  • "AVERAGE"
  • "FAST"
  • "NONE"
  • "SLOW"
loadingExperience.overall_category string

Os valores aceitáveis são:
  • "AVERAGE"
  • "FAST"
  • "NONE"
  • "SLOW"
loadingExperience.initial_url string

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.