Moving a WordPress blog from a subdomain to /blog
blog.hoja.in became hoja.in/blog: WP_HOME and WP_SITEURL, wp search-replace with a dry run, URLs hidden in JSON, a 301 from the old subdomain, and canonical and sitemap checks.
blog.hoja.in became hoja.in/blog: WP_HOME and WP_SITEURL, wp search-replace with a dry run, URLs hidden in JSON, a 301 from the old subdomain, and canonical and sitemap checks.
Local extensions belong in Composer too: a path repository for your own extensions, config.platform.php for production, composer audit in CI and abandoned packages.
Approving every command is tiring, approving everything is dangerous. A settings.json for a TYPO3 project in DDEV, rules I never add, and how hooks and the sandbox fit in.
upgrade:list, upgrade:run and extension:setup in TYPO3 v14, what each one writes to the database, and three ways a wizard ends up marked done without migrating anything.
Two critical bugs in the PHP interpreter allow code execution without login. What PHP2Shell is, and five shell scripts to check versions, settings and logs.
hoja.in runs TYPO3 14 at the root and WordPress under /blog, in one repository and one DDEV project. The config, the second database, the rewrite rules and the import commands.