Updated September 2026 · Written and maintained by the Progression Agency strategy team
“PHP developer” describes four jobs that barely overlap — WordPress, modern frameworks, legacy maintenance and integration work — and hiring for the wrong one is the usual cause of a disappointing engagement. This page covers how to tell which you need, the version question to ask before anything else, how to screen without being technical, and what you must own when the work ends.
The short answerName the job before writing the brief: WordPress, framework, legacy or integration work are different specialties. Ask what PHP version you are running and what its support status is — a developer who cannot answer quickly is telling you something. Screen by asking about a production incident they caused or inherited. And make sure the repository, hosting and deployment process would survive that developer disappearing tomorrow.
“PHP developer” is four different jobs
The commonest hiring mistake in this category is treating PHP as one skill. It is a language shared by several ecosystems that barely overlap in practice, and a developer who is excellent in one can be genuinely weak in another.
A WordPress developer works inside a plugin and theme architecture with its own conventions and an enormous installed base of third-party code. A Laravel or Symfony developer works in a modern framework with dependency injection, migrations and a test suite. A legacy maintainer works in procedural code written before any of that existed, often without version control. And an integration developer mostly writes glue between systems and rarely touches a front end at all.
Hiring for the wrong one is the usual cause of a disappointing engagement, and it is entirely avoidable by naming the job before writing the brief.
| The job | What the code looks like | Right when | Wrong hire looks like |
|---|---|---|---|
| WordPress developer | Themes, plugins, hooks, a large third-party surface | Your site is WordPress and you need it extended safely | A framework purist who rewrites rather than works within it |
| Framework developer (Laravel / Symfony) | MVC, migrations, DI container, tests | You are building an application, not a website | A WordPress specialist learning the framework on your budget |
| Legacy maintainer | Procedural code, mixed HTML and SQL, little tooling | You have a system that works and must keep working | Someone who proposes a rewrite in week one |
| Integration developer | APIs, queues, transforms, no front end | Systems need to talk and nobody owns the middle | A front-end-heavy generalist |
WordPress is a specialty, not a lesser skill
It powers a very large share of the web, and working safely inside it — hooks rather than core edits, update-survivable customization, an awareness of what a plugin update can break — is a genuine discipline. A developer who dismisses it will produce code that does not survive the next update. The platform’s own requirements page is the baseline for what it expects to run on.
Framework work is application development
If you are building something with users, roles, state and business logic, you want framework experience and a test suite. Building that inside a content-management system is possible and is usually a decision people regret.
Legacy maintenance is undervalued and hard
Reading someone else’s undocumented code and changing it without breaking a working business is a real skill. Candidates who lead with a rewrite proposal are describing the job they want rather than the job you have.
Integration work needs different questions
Ask about idempotency, retries and what happens when the third-party API is down. Those answers separate people who have run integrations in production from people who have written one.
The version question you should ask before anything else
PHP releases follow a predictable lifecycle — roughly two years of active support followed by a further period of security-only fixes, after which a version receives nothing at all. The current status of every branch is published on php.net’s supported versions page, and it is worth checking before you hire rather than after.
This matters commercially because an application running on an end-of-life version is accumulating unpatched vulnerabilities every month, and because the upgrade gets harder the longer it is deferred. It is also the single most useful screening question you can ask a candidate or an agency: what version are we on, what is its support status, and what would it take to move.
A developer who cannot answer that quickly is telling you something. So is an agency that quotes a feature roadmap without mentioning it.
Find out what you are actually running
Frequently nobody knows, and the answer is older than anyone expects. Hosting control panels report it; so does a one-line script.
Budget the upgrade as its own project
Version upgrades are not features and should not be squeezed into a feature sprint. They need a staging environment and a rollback plan.
Watch for the extension trap
Upgrades usually break on a dependency or an abandoned extension rather than on your own code. That audit is the real work.
Do not let hosting decide it for you
A host that silently upgrades PHP can take a site down without warning; one that never upgrades leaves you exposed. Neither default is acceptable.
Contractor, agency or employee
All three work and they fail differently. A contractor is the best value for well-specified work and carries genuine single-point-of-failure risk. An agency buys continuity and process at a higher rate. An employee makes sense above a threshold of steady work and is expensive below it, because a developer waiting on other people’s decisions is the most costly way to buy code.
The honest test is how much work you genuinely have. Under roughly a day a week, a contractor or a small agency is almost always right. Above a steady three or four days a week with a real backlog, hiring starts to make sense — and the fully loaded cost is considerably more than the salary.
| Arrangement | Right when | Real risk | What to insist on |
|---|---|---|---|
| Individual contractor | Defined project, clear spec | Availability and bus factor | Code in your repository from day one |
| Small agency | Ongoing work, needs continuity | Junior substitution after the pitch | Named people, not a capabilities deck |
| Employee | Steady backlog, institutional knowledge matters | Hiring cost and ramp | A second person who can review the code |
| Offshore team | Well-specified execution at volume | Specification overhead is on you | Written acceptance criteria per task |
| Nobody, for now | The system works and needs little | Silent security drift | A monitored update and backup routine anyway |
How to screen a PHP developer without being technical yourself
You do not need to read code to run a useful screen. You need to ask questions whose answers reveal how someone works, and to notice whether the answers are specific or generic.
The most informative question is about something that went wrong. Ask a candidate to describe a production incident they caused or inherited, what the impact was, and what they changed afterwards. People who have genuinely operated systems answer this readily and in detail. People who have not will generalize.
Ask what they would not do
A developer who cannot name an approach they consider a mistake has either not formed opinions or is telling you what you want to hear.
Ask how they test
“Manually” is an acceptable answer for a small site and a warning sign for an application. The question is whether the answer is deliberate.
Ask what happens when they are unavailable
Every contractor should have an answer. The absence of one is the risk you are actually buying.
Give a small paid task before a large one
A short paid piece of real work tells you more than any interview, and it is fair to the candidate.
Security is the part that gets skipped and then costs the most
PHP applications are among the most attacked targets on the web, mostly through predictable routes: outdated dependencies, injection through unvalidated input, weak session handling and file upload flaws. None of it is exotic and almost all of it appears on the OWASP Top Ten, which is the reference worth handing a developer.
The commercial framing is what usually lands: the cheapest hour anyone spends on your codebase is the one that keeps dependencies current, and the most expensive is the incident response you buy by not doing it. That is an ongoing budget line, not a one-off task.
| Route | What it looks like | The unglamorous fix |
|---|---|---|
| Outdated dependencies | A known vulnerability in a package nobody updated | A scheduled update routine with a staging environment |
| Abandoned plugins or libraries | Code whose maintainer stopped years ago | An inventory, and a decision to replace or vendor it |
| Unvalidated input | Injection through a form or query parameter | Parameterized queries and validation at the boundary |
| File upload handling | Uploads stored and served without checks | Type validation, storage outside the web root |
| End-of-life PHP | No security patches at all, for anything | Upgrade as a scheduled project with rollback |
| Credentials in code | Keys committed to the repository | Environment variables and a secret scan on the repo |
What PHP work costs, and why quotes vary so much
Rates vary more by what you are buying than by geography. A WordPress fix priced hourly, a framework build priced per sprint and a legacy rescue priced as a retainer are three different commercial arrangements, and comparing their headline rates tells you very little.
The variable that actually predicts cost is specification quality. Well-specified work is cheap in any arrangement because the developer is not absorbing your indecision. Vague work is expensive everywhere, and the expense arrives as scope disputes rather than as a higher rate.
Specify outcomes, not implementations
Say what must be true when it is done. Prescribing how to build it removes the expertise you are paying for.
Separate discovery from delivery
A short paid discovery that produces a real spec is almost always cheaper than a fixed-price quote against a vague brief.
Beware the cheapest fixed price
On a vague brief it is a bid on the narrowest possible reading, and the difference arrives as change requests.
What you should own when the work ends
Everything, and it should be true continuously rather than arranged at the end. The repository in your organization, the hosting and domain in your accounts, the environment variables documented, and the deployment process written down somewhere other than in one person’s head.
The test is simple and worth applying before you need it: if this developer stopped answering tomorrow, could another one take over? If the honest answer is no, that is the risk you are carrying, regardless of how well the relationship is going.
Where PHP work most often goes wrong after launch
The failures that cost most are rarely in the original build. They arrive months later, when nobody owns the system, dependencies drift, and the person who understood it has moved on. Every one of these is predictable and cheap to prevent at the start.
The pattern is consistent enough to plan against: the site works, so maintenance is deferred; a dependency goes stale; an update eventually becomes mandatory and now breaks three things at once; and the developer who could have fixed it in an hour left eighteen months ago.
| Failure | How it starts | Cost when it lands | Cheap prevention |
|---|---|---|---|
| Dependency drift | Updates deferred because nothing is broken | A forced upgrade that breaks several things at once | A scheduled monthly update window |
| Knowledge loss | One developer held it all in their head | Weeks of rediscovery, or a rewrite | A written deployment and environment doc |
| Silent backup failure | Backups configured once, never tested | Discovered only during an actual incident | One restore test per quarter |
| Host-forced PHP upgrade | The host moves versions without warning | An unplanned outage at their schedule | Own the version decision; use staging |
| Plugin abandonment | A maintainer stops publishing updates | An unpatched vulnerability you cannot fix | An inventory with owners and review dates |
| Credential sprawl | Keys shared informally over time | No way to revoke access when someone leaves | A secret manager and a joiner/leaver routine |
The maintenance conversation worth having before the build
Ask who owns the system after launch, what the monthly update routine is, and what happens when a dependency needs a breaking change. A supplier with real answers will have them ready. A supplier who treats maintenance as an afterthought is quoting you a lower number by leaving the expensive part out.
What Progression does and does not do here
We build and maintain PHP applications and WordPress sites where the work has to keep running — version upgrades, dependency hygiene, integrations and the documentation that makes the next person’s job possible.
We are not a staffing agency and we do not place contractors. If what you need is a developer embedded in your team on a day rate, that is a different supplier and we will say so.
Where we would tell you not to hire us
If you have a large, healthy engineering team and need one more pair of hands, a contractor is cheaper and faster than an agency relationship.
What we are weakest at
We do not do high-volume mobile application work. PHP back ends that serve mobile clients, yes; native app development, no.
What to establish before you hire PHP developers
Businesses arrive at the decision to hire PHP developers from two very different directions, and the right answer differs sharply between them. One is building something new and choosing a stack. The other has inherited a working PHP application and needs someone who can safely change it. The second is far more common and far less well served by generic job descriptions.
If you are maintaining an existing system, the framework and version matter more than general language skill. A PHP web developer fluent in Laravel is not automatically productive in a legacy codebase with no framework, and a developer comfortable on PHP 8 may be slowed considerably by a PHP 5 application that cannot be upgraded quickly. Ask about the specific situation rather than the language.
If you are building new, the more useful question is what else the work touches. Most projects that need a PHP developer also need database design, front-end work, and deployment. Whether you hire a PHP website developer who covers that range or assemble specialists changes both the cost and how long the project takes to start moving.
Reference videos
Technical and measurement fundamentals relevant to the work described above.
Weekly Report: PepsiCo's AI agency review signals a shift from experiments to infrastructure
Ad Age · 2026-08-20This AI Tool Does Keyword Research For You
Ahrefs · 2026-07-08How to get your product data holiday ready on Google Merchant Center
Google Ads · 2026-08-19Claude Cowork for Marketing: Turn Customer Data Into Copy That Converts
HubSpot Marketing · 2026-08-03The Only Marketing Strategy You Need To Master This Year
Neil Patel · 2026-08-20Frontier Brief: What to do now that marketing has lost the plot
Think with Google · 2026-08-24Weekly Report: Dollar Tree shifts to emotional branding as it eyes $1 billion in untapped sales
Ad Age · 2026-08-13I Used AI Agents to Replace Our Marketing Agency
Ahrefs · 2026-06-10How to measure store visits and sales in Google Ads Performance Max
Google Ads · 2026-08-10How to Use Instagram Instants for Business (Step-by-Step Guide)
HubSpot Marketing · 2026-07-29The Only Marketing Strategy That Is Working In 2026
Neil Patel · 2026-08-12The New Era of Agency Partnerships: What Marketers Want in 2026
Think with Google · 2026-08-06Why marketers chase active demand and miss the passive majority, with Indeed's CMO
Ad Age · 2026-08-12Why I Switched from ChatGPT to Claude
Ahrefs · 2026-06-03How to set up Performance Max for store goals in Google Ads
Google Ads · 2026-08-10How to Set Up Your LinkedIn Profile in just 10 Minutes (Using AI)
HubSpot Marketing · 2026-07-27I'm Betting My Entire Marketing Strategy On This One Shift
Neil Patel · 2026-08-05Why Marketers Have Lost the Plot in the Age of AI
Think with Google · 2026-08-06Turning consumer signals into campaigns that work, with Kayak's senior VP of brand marketing
Ad Age · 2026-08-05Your AEO Strategy + Action Plan Checklist | 4.2. AEO Course by Ahrefs
Ahrefs · 2026-05-18Community Q&A: August 17 bidding update
Google Ads · 2026-08-05I Built a Complete AI Email Marketing System in 16 Minutes (Prompts Included)
HubSpot Marketing · 2026-07-21The TikTok Shop Strategy Nobody Talks About
Neil Patel · 2026-07-15Frontier Brief: What it takes to lead marketing at Google during the AI revolution
Think with Google · 2026-08-03Meet the Calvin Klein CMO using 'entertainment mentality' to turn culturally resonant campaigns i…
Ad Age · 2026-07-29How to Track AI Traffic in GA4 and Ahrefs Web Analytics (ChatGPT & More) | 4.1. AEO Course by Ahrefs
Ahrefs · 2026-05-18Google Ads Spending Limits: Master Your Daily Budget [Tutorial]
Google Ads · 2026-08-035 Social Media Trends Actually Working in 2026 (HubSpot Report)
HubSpot Marketing · 2026-07-14The One-Person Marketing Era Has Officially Begun
Neil Patel · 2026-07-08Inside Nescafé's Global YouTube Creator Strategy with Zach King | Nescafé
Think with Google · 2026-07-29Lessons from America's Hottest Brands
Ad Age · 2026-07-22YouTube SEO for AI Search: How to Rank your YouTube Videos | 3.3. AEO Course by Ahrefs
Ahrefs · 2026-05-13Fix disapproved Google Ads: A guide to Personalized advertising compliance
Google Ads · 2026-08-03The Free AEO Tool Stack to get Your Brand Promoted By AI
HubSpot Marketing · 2026-07-08How I Would Master Social Media in 2026 (If Starting From Zero)
Neil Patel · 2026-06-03Best of Frontier CMO: The Audience is in Charge with Colin and Samir
Think with Google · 2026-07-23Weekly Report: Starbucks' Culture Play, Predictive AI Targeting, Emmy-Nominated Ads
Ad Age · 2026-07-16Brand Mentions for SEO: How to Get Cited by AI (3 Tiers) | 3.2. AEO Course by Ahrefs
Ahrefs · 2026-05-13Google Call Ads: Supplemental Terms & Compliance
Google Ads · 2026-08-03How to Create a WhatsApp Chatbot for Your Business (No Coding)
HubSpot Marketing · 2026-07-065 Signs Your AI SEO Strategy Is About to Take Off
Neil Patel · 2026-05-27Frontier Brief: Liquid Death’s unexpected recipe for marketing success
Think with Google · 2026-07-202026 ad budget check-in: where media money’s moving, with Brandon Doerrer
Ad Age · 2026-07-10How to Optimize Content for AI Search Engines | 3.1. AEO Course by Ahrefs
Ahrefs · 2026-05-13Google Ads Asset Studio: AI Tools & Asset Management Guide
Google Ads · 2026-08-03I Charge $2,000 for This Content Strategy (Copy Me)
HubSpot Marketing · 2026-06-29The Old SEO System Is Collapsing. Here's What Replaces It.
Neil Patel · 2026-05-20Lightning in a Can: Liquid Death’s Killer Creative
Think with Google · 2026-07-09Why data, not AI, is driving local travel marketing decisions, with Vrbo's VP of marketing
Ad Age · 2026-07-08Keyword & Prompt Research for AI SEO (AEO) | 2.2. AEO Course by Ahrefs
Ahrefs · 2026-05-06Create effective Search ads: Responsive search ads for success (2026)
Google Ads · 2026-08-03How to Run ChatGPT Ads: The Complete Tutorial
HubSpot Marketing · 2026-06-225 AI CEOs Said the Same Thing About 2026 (Marketing Changes Forever)
Neil Patel · 2026-05-13Frontier Brief: What CMOs can learn from McLaren’s race to the top
Think with Google · 2026-06-29Why retailers should sell experiences, not products, with Macy's CMO
Ad Age · 2026-07-01How to Run a Brand Gap Analysis | 2.1. AEO Course by Ahrefs
Ahrefs · 2026-05-05How to Link accounts to your Google Ads Manager Account – Step-by-Step process
Google Ads · 2026-07-30How to Optimize Your Profile for LinkedIn's New AI Algorithm
HubSpot Marketing · 2026-06-17The Marketing Opportunity of a Decade (But Not for Long)
Neil Patel · 2026-04-22Will AI take the soul out of creative? 🎬
Think with Google · 2026-06-29What brands are missing in sports sponsorship, with Just Women's Sports Founder
Ad Age · 2026-06-24What Is AI Visibility? The 3 Types Every Marketer Needs to Know | 1.3. AEO Course by Ahrefs
Ahrefs · 2026-04-29Community Q&A: Measurement in the AI era & AI Max
Google Ads · 2026-07-29From Apartment Startup to Luxury Tech Brand
HubSpot Marketing · 2026-06-15How to Save Your Marketing Job (Stop Reporting Traffic)
Neil Patel · 2026-04-03Exclusive look at Google’s Cannes Creative House 🚪✨
Think with Google · 2026-06-25From instinct to evidence: Solving marketing's growth paradox
Ad Age · 2026-06-22How AI Search Engines Work | 1.1. AEO Course by Ahrefs
Ahrefs · 2026-04-29Google Ads: Sexual content policy guide (What’s allowed?)
Google Ads · 2026-07-226 AEO Trends To Get Your Brand Recommended By AI (2026 HubSpot Report)
HubSpot Marketing · 2026-06-10You Don't Have an SEO Problem. You Have a "Brand Entity" Problem.
Neil Patel · 2026-03-25Frontier Brief: Marketing is a hot mess right now—and Mark Ritson is actively tearing it apart
Think with Google · 2026-06-24CMOs on CMOs: Hippo and Solo Stove on AI and grassroots marketing tactics
Ad Age · 2026-06-19Answer Engine Optimization (AEO) Course by Ahrefs: What is AEO?
Ahrefs · 2026-04-29Community Q&A: The bidding & budgets special
Google Ads · 2026-07-22How to Use Substack as a Complete Beginner in 2026 (Full Tutorial)
HubSpot Marketing · 2026-06-08Why 98% of Websites Don't Make Money (It’s Not the Design)
Neil Patel · 2026-03-12Mark Ritson on Why the Fundamentals Still Win
Think with Google · 2026-06-04How the Cadillac F1 team is racing to define its brand and fan strategy
Ad Age · 2026-06-17How This Site Beat Amazon in Google Search (3 Step Strategy)
Ahrefs · 2026-04-01GCLID Explained: What is a GCLID?
Google Ads · 2026-07-16How to Scale a Skincare Brand (Marketing Breakdown)
HubSpot Marketing · 2026-05-28You're Wasting Money Trying to Get B2B Clients
Neil Patel · 2026-03-04Philipp Schindler at Google Marketing Live 2026
Think with Google · 2026-05-21Best World Cup campaigns and the new sports marketing playbook, with Tim Nudd and Jon Springer
Ad Age · 2026-06-12How to Pick a Niche If You’re Just Starting Out (SEO)
Ahrefs · 2026-03-04How to use Google Keyword Planner: Find the Best Keywords for Your Business (2026 Guide)
Google Ads · 2026-07-15How to Build Your First AI Agent (Step-by-step Tutorial)
HubSpot Marketing · 2026-05-26Amazon Just Became the Google of Streaming Ads
Neil Patel · 2026-02-25Evolving a media network to meet growing advertiser demands with Marriott's Chris Norton
Ad Age · 2026-06-10Keyword Research Tutorial for Google and AI SEO
Ahrefs · 2026-02-18Paid Search Association AMA: AI Max Q&A
Google Ads · 2026-07-15How to Dominate AI Search in 2026 (Complete Tutorial for Business)
HubSpot Marketing · 2026-05-20Why Google LOVES Reddit (And How Marketers Can Exploit It)
Neil Patel · 2026-02-19Publicis-LiveRamp deal: what to know and how to react, with Garett Sloane
Ad Age · 2026-06-05I Outsourced our Digital Marketing to AI. Here's What Happened
Ahrefs · 2026-02-04PPC Chat Q&A: Ads in AI Search, QFC & Creator Partnerships
Google Ads · 2026-07-096 B2B Marketing Strategies Replacing the Old Playbook in 2026
HubSpot Marketing · 2026-05-11You're Wasting Your Money on Influencer Marketing
Neil Patel · 2026-02-11Top SEO Experts Build Me an AI Search Strategy (GEO)
Ahrefs · 2026-01-21Streamline your workflow with Ask Advisor in Google Ads
Google Ads · 2026-07-0922 Genius Marketing Campaigns You Can Run Without a Big Budget
HubSpot Marketing · 2026-05-06Everything you know about Marketing is changing (2026)
Neil Patel · 2026-02-05How to Transfer Google Ads Account to a New Agency (Billing Transfer)
Google Ads · 2026-06-24Do Reddit Ads Actually Work? I Ran a $100 Experiment (Full Results)
HubSpot Marketing · 2026-05-04You’re Wasting Your Time Creating Social Media Content
Neil Patel · 2026-01-29Ads Data Hub: Privacy checks explained [Tutorial]
Google Ads · 2026-06-233 Creator Economy Trends Every Brand Needs to Know in 2026 (HubSpot Report)
HubSpot Marketing · 2026-04-27Google Ads Data Collection Policy: Avoid Account Suspension (2026)
Google Ads · 2026-06-22Anatomy of a Viral Campaign: How We Built Loop Marketing
HubSpot Marketing · 2026-04-22Google Ads Other Restricted Businesses Policy [Avoid Disapproval Guide]
Google Ads · 2026-06-16Claude AI for Business: The Complete Marketing Tutorial
HubSpot Marketing · 2026-04-20Google Ads Limited Ad Serving? How to Fix It (2026 Guide)
Google Ads · 2026-06-155 NEW Email Marketing Trends That Actually Work in 2026
HubSpot Marketing · 2026-04-15Google Ads Bidding Update: How to Maintain Predictable Performance (2026 Guide)
Google Ads · 2026-06-12How to Make Professional Video Ads on Any Budget (AI Finally Made It Possible)
HubSpot Marketing · 2026-04-13Google Ads for Crypto: How to Get Certified & Avoid Bans (Tutorial)
Google Ads · 2026-06-10The Marketing Playbook That Helped This Gym Beat Equinox
HubSpot Marketing · 2026-04-08Google Ads Editorial Policy: How to Fix Ad Disapprovals
Google Ads · 2026-06-09How to Dispute or Change Google Ads Invoices
Google Ads · 2026-05-28Google Marketing Live: Backstage with our product experts
Google Ads · 2026-05-28
Getting found in search
AI, AEO and what is changing
Paid media and lead generation
Websites and design
- Bankruptcy lawyer website design
- Web design in North Carolina
- Web design in Seattle
- Ecommerce web development
- Ecommerce development services
- Squarespace customization
- Consulting websites
- Beauty stores on Shopify
- Content commerce
- 404 and bad request errors
- FTP clients
- Website design and development
- Design, development and management
- Creating a gallery
- Custom CSS
- Summary blocks
- Website maintenance services
- Web design agency, San Jose
- WordPress outsourcing
- StoryBrand website framework
- StoryBrand websites
- StoryBrand website design
- Squarespace logos
- Product configurators
- Web development services
- How much does a website cost?
- What to include on a homepage
- Website redesign services
- Website maintenance
- Shopify ecommerce agency
- Ecommerce website design
- BigCommerce vs Shopify
- Service business website design
- Healthcare website design
- Websites for restaurants
- Squarespace design services
- Squarespace vs WordPress
- Wix vs WordPress
- Web design in Queens
- Web design for small business
- Shopify agency
- Shopify checkout optimization
- Headless commerce and Hydrogen
- Shopify pricing guide
- Shopify checkout extensibility
- Squarespace pricing
- Publishing a Squarespace site
- What Squarespace is
- Learning Squarespace
- Squarespace dropdown menus
- Domain vs website
- Videography websites
- Ecommerce product configurators
- Negative space in design
- YouTube channels for web designers
- How to back up a Squarespace website
- Best dental websites
- Website dimensions and image sizes
- Web design in Charlotte NC
- Web design in Nashville
- Web design in Seattle
- Web design in Atlanta
- Retail consulting
- Product design agencies
- Digital product agencies
Choosing and working with an agency
Social, content and brand
By industry and by situation
Frequently asked questions
Is ‘PHP developer’ one skill?
Is WordPress development a lesser skill than framework development?
Should I build an application in WordPress?
What PHP version should we be on?
What happens if we stay on an end-of-life version?
How hard is a PHP version upgrade?
What is the best screening question for a PHP developer?
Can I screen a developer without being technical?
Contractor, agency or employee?
What is the real risk with a solo contractor?
Should I use a trial task?
How do PHP applications actually get compromised?
How much should we budget for security maintenance?
Why do PHP quotes vary so much?
Should I take the cheapest fixed price?
Should I specify how the work is built?
What should I own at the end of an engagement?
How do I know if I am too dependent on one developer?
Is offshore PHP development a false economy?
Do we need automated tests?
What should I look for when I hire a PHP developer?
Is it better to hire PHP web developers as contractors or employees?
How do I evaluate PHP developers without a technical background?
Should I hire a PHP website developer or a full-stack team?
Sources and further reading
- Google Search Essentials — SEO starter guide
- Google: creating helpful, reliable, people-first content
- Google: intro to structured data
- Google: LocalBusiness structured data
- Google: FAQPage structured data
- Google: Article structured data
- Google: Product structured data
- Google: title links in search results
- Google: control your snippets
- Google: robots.txt introduction
- Google: sitemaps overview
- Google: consolidate duplicate URLs
- Google: redirects and Search
- Google: JavaScript SEO basics
- Google: multi-regional and multilingual sites
- Google Search Central Blog
- Google: get started with Search Console
- Google: how local search results are determined
- Google Business Profile: prohibited and restricted content
- Google Business Profile: address and service area guidelines
- Google Business Profile: review policy
- Google Business Profile: add or edit categories
- Google Ads: location targeting settings
- Google Ads: about negative keywords
- Google Ads: about Quality Score
- Google Ads: importing offline conversions
- Google Ads: about Smart Bidding
- Google Ads: about Performance Max
- Google Local Services Ads: eligibility and screening
- Google Ads: keyword match types
- Google Analytics 4: about conversions
- Google Analytics 4: attribution models
- US Census Bureau QuickFacts: New Jersey
- US Census Bureau: American Community Survey
- US Census: Statistics of US Businesses
- Bureau of Labor Statistics: New Jersey data
- BLS: Occupational Employment and Wage Statistics
- NJ Department of Labor: labor market information
- New Jersey Business Action Center
- US Small Business Administration: New Jersey district
- USA.gov: business resources
- web.dev: Core Web Vitals explained
- web.dev: Largest Contentful Paint
- web.dev: Cumulative Layout Shift
- web.dev: Interaction to Next Paint
- Google PageSpeed Insights
- Google Rich Results Test
- Google Search Console
- W3C Markup Validation Service
- Schema.org: LocalBusiness type
- Schema.org: Service type
- Schema.org: FAQPage type
- Schema.org: HowTo type
- W3C: WCAG 2.2 quick reference
- FTC: CAN-SPAM Act compliance guide
- FCC: telemarketing and robocall rules (TCPA)
- FTC endorsement guides — reviews and testimonials
- FTC: rule on consumer reviews and testimonials
- HHS: HIPAA guidance on online tracking technologies
- New Jersey Courts: attorney advertising guidelines
- New Jersey DCA: construction codes and permits
- New Jersey Home Improvement Contractor registration
- New Jersey Division of Consumer Affairs
- TikTok for Business
- TikTok Creative Center
- TikTok Ads Help Center
- TikTok Community Guidelines
- TikTok Terms of Service
- TikTok Privacy Policy
- TikTok Safety Center
- TikTok Transparency Center
- TikTok Creator Portal
- TikTok Newsroom
- TikTok for Developers
- TikTok advertising solutions
- TikTok Creator Marketplace
- TikTok Business Center
- TikTok for Business blog
- TikTok Creative Center: top ads
- TikTok Branded Content policy
- TikTok Shop for sellers
- Instagram for Business
- Instagram for Creators
- Instagram Help Center
- About Instagram
- Meta Business Suite
- Meta Business Help Center
- Meta Transparency Center
- About Meta
- Meta: Instagram platform docs
- YouTube Creators
- YouTube Official Blog
- YouTube Shorts help
- How YouTube Works
- YouTube Studio
- LinkedIn Marketing Solutions
- LinkedIn Help
- Pinterest Business
- Pinterest Business Help
- Snapchat for Business
- X for Business
- Reddit communities
- Reddit for Business Help
- ASCAP
- BMI
- SESAC
- Global Music Rights
- PRS for Music (UK)
- PPL (UK)
- SOCAN (Canada)
- APRA AMCOS (Australia)
- GEMA (Germany)
- SACEM (France)
- SIAE (Italy)
- JASRAC (Japan)
- IFPI
- RIAA
- National Music Publishers Association
- Harry Fox Agency
- SoundExchange
- Music Reports
- Epidemic Sound
- Artlist
- Soundstripe
- PremiumBeat
- AudioJungle
- Free Music Archive
- Creative Commons
- Incompetech
- FTC: advertising and marketing
- FTC: disclosures 101
- FTC: endorsement guides
- FTC: consumer reviews rule
- FTC: advertising FAQs
- US Copyright Office
- US Copyright Office: DMCA
- US Copyright Office: music FAQ
- US Copyright Office: fair use FAQ
- USPTO: trademarks
- UK Advertising Standards Authority
- ACCC (Australia)
- Competition Bureau Canada
- GDPR overview
- California Consumer Privacy Act
- COPPA
- FTC: children’s privacy
- W3C Web Accessibility Initiative
- W3C: WCAG
- W3C: captions
- W3C: making audio and video accessible
- ADA.gov
- WebAIM
- Epilepsy Foundation
- Pew Research: internet and technology
- DataReportal
- US Census Bureau
- US Bureau of Labor Statistics
- Interactive Advertising Bureau
- Think with Google
- Google Trends
- Nielsen insights
- Schema.org: VideoObject
- Schema.org: SocialMediaPosting
- Schema.org: MusicRecording
- Schema.org: HowTo
- Schema.org: FAQPage
- Schema.org: Organization
- Google: video best practices
- Google: video structured data
- CapCut
- Adobe Premiere Rush
- DaVinci Resolve
- Canva
- Descript
- VEED
- Kapwing
- Otter.ai
- Later
- Buffer
- Hootsuite
- Sprout Social
- Google Analytics
- Google Search Console
- Google Analytics developer docs
- GA4: events and conversions
- Matomo
- Plausible Analytics
- Similarweb
- UK Information Commissioner’s Office
- Office of the Privacy Commissioner of Canada
- Australian OAIC
- European Data Protection Board
- EU data protection
- EU Digital Services Act
- Ofcom
- FCC
- AIGA
- Nielsen Norman Group
- Smashing Magazine
- web.dev
- MDN: web media
- MDN: the video element
- ISO 21001 (reference)
- Buma/Stemra (Netherlands)
- STIM (Sweden)
- Teosto (Finland)
- Koda (Denmark)
- TONO (Norway)
- IMRO (Ireland)
- SGAE (Spain)
- ZAiKS (Poland)
- KOMCA (South Korea)
- MCSC (China)
- CISAC
- World Intellectual Property Organization
- TikTok: creating videos
- TikTok: exploring videos
- TikTok: privacy settings
- TikTok: growing your audience
- TikTok Creator Academy
- TikTok Effect House
- TikTok for small business
- Instagram: Reels help
- YouTube: Shorts best practice
- How YouTube recommends
- Pinterest Predicts
- Snapchat for Business
- Hootsuite blog
- Social Media Examiner
- Marketing Week
- Adweek
- web.dev: Core Web Vitals explained
- web.dev: Largest Contentful Paint
- web.dev: Cumulative Layout Shift
- web.dev: Interaction to Next Paint
- Google PageSpeed Insights
- Google Rich Results Test
- Google Search Console
- W3C Markup Validation Service
- Schema.org: LocalBusiness type
- Schema.org: Service type
- Schema.org: FAQPage type
- Schema.org: HowTo type
- W3C: WCAG 2.2 quick reference
- Google Search Essentials — SEO starter guide
- Google: creating helpful, reliable, people-first content
- Google: intro to structured data
- Google: LocalBusiness structured data
- Google: FAQPage structured data
- Google: Article structured data
- Google: Product structured data
- Google: title links in search results
- Google: control your snippets
- Google: robots.txt introduction
- Google: sitemaps overview
- Google: consolidate duplicate URLs
- Google: redirects and Search
- Google: JavaScript SEO basics
- Google: multi-regional and multilingual sites
- Google Search Central Blog
- Google: get started with Search Console
- Google: how local search results are determined
- Google Business Profile: prohibited and restricted content
- Google Business Profile: address and service area guidelines
- Google Business Profile: review policy
- Google Business Profile: add or edit categories
- php.net: supported versions
- OWASP Top Ten web application security risks
- WordPress.org: requirements
Get a free marketing proposal
Tell us what you are trying to grow and we will come back with a plan, not a pitch deck. Same-day reply on weekdays.
