---
title: "Como corrigir Headers already sent no WordPress"
url: https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/
date: 2026-06-13
author: "Clayton Margiotti"
---

# Como corrigir Headers already sent no WordPress

## O que é o erro Headers already sent?

O headers already sent no WordPress é o aviso que o PHP emite quando uma função como header(), setcookie() ou um redirecionamento é chamada depois que o servidor já começou a enviar o corpo da página. No HTTP os cabeçalhos vêm antes do conteúdo, então qualquer caractere enviado cedo demais (um espaço, uma linha em branco, um BOM ou um echo) trava o envio dos cabeçalhos. A mensagem informa exatamente o arquivo e a linha onde a saída começou, o que aponta o culpado.

## Como identificar

- Mensagem "Warning: Cannot modify header information - headers already sent by (output started at /caminho/arquivo.php:N)", citando onde a saída começou.

- O login do wp-admin não persiste: você entra e é deslogado, porque o cookie de sessão não consegue ser definido.

- Redirecionamentos param de funcionar e a página mostra o aviso no topo, antes do resto do conteúdo.

- O erro surge logo após editar o wp-config.php ou o functions.php, ou após instalar um plugin que adiciona código a esses arquivos.

**Antes de começar:** Faça backup do arquivo antes de editar. Edite o wp-config.php e o functions.php só via FTP ou pelo gerenciador de arquivos da hospedagem, com um editor que mostre espaços e quebras de linha. O editor de temas do painel não evidencia espaços em branco e pode reintroduzir o erro.

## Como prevenir

- Em arquivos só de PHP, nunca inclua a tag de fechamento no final

- Configure o editor de código para salvar sempre como UTF-8 sem BOM

- Evite deixar echo, print ou var_dump de depuração no código que vai para produção

## Erros relacionados

- [Como corrigir Parse error / syntax error no PHP](https://full.services/wp-fixer/corrigir-parse-error-syntax-php-wordpress/)

- [Como corrigir Call to undefined function](https://full.services/wp-fixer/corrigir-call-to-undefined-function-wordpress/)

- [Como corrigir Failed opening required no WordPress](https://full.services/wp-fixer/corrigir-failed-opening-required-wordpress/)


---

## Metadados Estruturados (Schema.org)

```json-ld
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://full.services/#org",
            "name": "FULL Services",
            "url": "https://full.services/",
            "sameAs": [
                "https://www.instagram.com/fullservicesbr",
                "https://www.facebook.com/fullservices.br",
                "https://www.linkedin.com/company/fullservicesbr/"
            ],
            "knowsAbout": [
                "WordPress",
                "WordPress Hosting",
                "Web Development",
                "Performance Optimization",
                "WordPress Security",
                "SEO para WordPress"
            ],
            "award": [
                "Gold Medal - The WP Weekly Awards 2023",
                "Gold Medal - The WP Weekly Awards 2024"
            ],
            "logo": {
                "@type": "ImageObject",
                "url": "https://full.services/wp-content/uploads/full-services-logo.png",
                "width": 200,
                "height": 60
            },
            "hasCredential": {
                "@type": "EducationalOccupationalCredential",
                "credentialCategory": "certification",
                "name": "CVE Numbering Authority (CNA)",
                "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Válida desde 2022-05-03, com abrangência global.",
                "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
                "recognizedBy": {
                    "@type": "Organization",
                    "name": "CISA — Cybersecurity and Infrastructure Security Agency",
                    "url": "https://www.cisa.gov/",
                    "sameAs": "https://www.cisa.gov/"
                }
            }
        },
        {
            "@type": "TechArticle",
            "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#article",
            "headline": "Como corrigir Headers already sent no WordPress",
            "url": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/",
            "inLanguage": "pt-BR",
            "datePublished": "2026-06-13T23:43:46-03:00",
            "dateModified": "2026-06-13T23:43:46-03:00",
            "author": {
                "@id": "https://full.services/#org"
            },
            "publisher": {
                "@id": "https://full.services/#org"
            },
            "isAccessibleForFree": false,
            "about": [
                {
                    "@type": "Thing",
                    "@id": "https://www.wikidata.org/wiki/Q13166",
                    "name": "WordPress",
                    "sameAs": "https://www.wikidata.org/wiki/Q13166",
                    "url": "https://wordpress.org/"
                },
                {
                    "@type": "Thing",
                    "name": "Erro de PHP"
                }
            ],
            "mentions": {
                "@type": "Thing",
                "@id": "https://www.wikidata.org/wiki/Q13166",
                "name": "WordPress",
                "sameAs": "https://www.wikidata.org/wiki/Q13166",
                "url": "https://wordpress.org/"
            },
            "mainEntityOfPage": {
                "@type": "WebPage",
                "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/"
            },
            "wordCount": 538,
            "description": "O headers already sent é um erro de PHP que aparece quando o WordPress tenta enviar um cabeçalho HTTP (um redirecionamento, um cookie de login) depois que algum conteúdo já foi enviado ao navegador. A causa quase sempre é um espaço em branco ou um echo antes ou depois das tags do PHP em um arquivo como o wp-config.php ou o functions.php.",
            "articleSection": "Erro de PHP",
            "keywords": "cannot modify header information wordpress, erro headers already sent php, espaco em branco functions.php headers, headers already sent output started, warning headers already sent wp-config",
            "proficiencyLevel": "Intermediate",
            "citation": {
                "@type": "CreativeWork",
                "url": "https://www.php.net/manual/en/function.header.php",
                "name": "PHP Manual — header()"
            },
            "mainEntity": {
                "@type": "SoftwareSourceCode",
                "name": "Como corrigir Headers already sent no WordPress",
                "programmingLanguage": "PHP",
                "codeRepository": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/",
                "isAccessibleForFree": false
            }
        },
        {
            "@type": "FAQPage",
            "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq",
            "isPartOf": {
                "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#article"
            },
            "isAccessibleForFree": true,
            "mainEntity": [
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q1",
                    "name": "O que significa output started at no aviso?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "É o ponto exato onde algum conteúdo começou a ser enviado ao navegador antes dos cabeçalhos: o aviso cita o arquivo e a linha. Quase sempre é um espaço em branco antes da abertura do PHP ou depois do fechamento naquele arquivo.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q2",
                    "name": "Por que o login do wp-admin não persiste com esse erro?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Porque o cookie de sessão é um cabeçalho HTTP. Se a saída já começou, o WordPress não consegue definir o cookie e você é deslogado a cada navegação. Corrigir o espaço em branco que dispara o erro resolve o login.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q3",
                    "name": "Como o BOM causa headers already sent?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "O BOM é uma sequência de bytes invisíveis que alguns editores adicionam no início de arquivos UTF-8. Esses bytes contam como saída e são enviados antes dos cabeçalhos. Salve o arquivo como UTF-8 sem BOM para eliminar a causa.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q4",
                    "name": "Devo apagar a tag de fechamento do PHP mesmo?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Em arquivos que contêm apenas PHP, sim. Omitir a tag de fechamento é a recomendação dos padrões de código do WordPress justamente para evitar que espaços ou quebras de linha após ela sejam enviados ao navegador.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q5",
                    "name": "O erro cita um plugin. Como corrijo sem editar o plugin?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Desative o plugin via FTP renomeando a pasta dele para confirmar que é a causa. Se for, atualize-o ou contate o desenvolvedor: editar o arquivo do plugin é sobrescrito na próxima atualização.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-headers-already-sent-wordpress/#faq-q6",
                    "name": "Posso resolver sem FTP?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Em geral não, porque o arquivo que precisa ser limpo costuma ser o wp-config.php ou o functions.php, fora do alcance do painel quando o erro já trava o login. O caminho seguro é editar via FTP ou pelo gerenciador de arquivos da hospedagem.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                }
            ]
        }
    ]
}
```
