wordpress edit multi-record profile fine when logged in but not retaining checksum for anonymous user
I was having a bugger of a time troubleshooting a similar problem with the checksum capability for anonymous users.  After trying and identifying many different potential causes such as:


cid versus id for the contact
the order of the checksum or contactid tokens
ACL permissions
whether SSL or non-SSL made a difference
update to CiviCRM 5.0 (currently on CiviCRM 4.7.30 with WP 4.9.5)


What fixed it was having %2F instead of the '/' in the query parameters of the URL.  I needed to explicitly put the '%2F' (without the single quotes) in the URL instead of the '/'.  For instance, in your example above the URL section:


  &amp;q=civicrm/profile/edit


should be changed to


  &amp;q=civicrm%2Fprofile%2Fedit


NOW my mailings work with checksums!  Wahoo!  Hope this helps someone else on WordPress.