(increases complexity, but more robust to damage or occlusion).
Text
-
Image <img>
Image <svg>
Simpler codes are easier to scan:
Keep the input as short as possible.
If using a URL with a common top-level-domain (such as .com), some readers work without an initial http:// or https://, but probably best not to rely on this.
All upper-case alphanumeric (with some, e.g. URL, symbols allowed) is more compat than mixed-case, but be careful that any path part may be case sensitive, and some readers may not like the protocol in capital letters.
Always include a written alternative for the URL.
Always place the QR code on a 'quiet' area: light on a standard code (if the code is inverted, it should be placed on a dark background).
For WiFi QR codes, use the format: WIFI:S:my_ssid;T:WPA;P:my_passphrase;;