WordPress doesn't create a physical robots.txt file by default. Instead, it generates a virtual one at yoursite.com/robots.txt using the do_robots() function. This virtual file contains basic directives that point crawlers to your XML sitemap and disallow access to wp-admin and other core directories. To view your current robots.txt, just navigate to yoursite.com/robots.txt in any browser. If you see content, WordPress is serving the virtual version or you have a physical file in place. You have three ways to manage it. First, use an SEO plugin. Yoast SEO and Rank Math both include robots.txt editors under their tools section that let you add custom rules without touching server files. This approach works for 80% of sites and keeps everything in the WordPress dashboard. Second, create a physical robots.txt file. Upload it via FTP or your hosting file manager to the root directory where wp-config.php lives, usually public_html or www. A physical file always overrides the virtual one. Third, edit it through code by filtering do_robots_txt in your theme's functions.php, though this is overkill unless you're managing multiple sites programmatically. At Ottawa SEO, we typically use the plugin method for client sites because it's auditable and doesn't require FTP access for future changes. The physical file approach makes sense when you need strict version control or work with developers who prefer keeping configuration out of the database. One thing to watch: if you're on a subdirectory multisite install, each subsite can't have its own robots.txt because they all share the domain root. You'll need network-level management. Also, never block CSS or JavaScript files in robots.txt anymore. Google has penalized mobile usability when rendering is blocked, so those old wp-includes blocks from 2010-era tutorials are counterproductive now. Your virtual WordPress robots.txt handles the essentials correctly by default.